_
파이썬에서 4 가지 주요 용도가 있습니다.
- 대화식 인터프리터 세션에서 마지막으로 실행 된 표현식 (/ statement)의 결과를 보유합니다. 이 선례는 표준 CPython 인터프리터에 의해 설정되었으며 다른 인터프리터도
- 다음
과 같은 코드에서와 같이 i18n에서 번역 조회 ( 예 : gettext 설명서 참조
) :
raise forms.ValidationError(_("Please enter a correct username"))
- 다음과 같은 코드에서와 같이 함수 결과의 일부가 의도적으로 무시되고 있음을 나타내는 일반적인 목적의 "throwaway"변수 이름입니다 (개념적으로 폐기 됨)
label, has_label, _ = text.partition(':')
.
- 서명이 고정 된 (예 : 콜백 또는 부모 클래스 API) 함수 정의의 일부 (
def
또는 lambda
)를 사용 하지만이 특정 함수 구현에는 다음과 같은 코드와 같이 모든 매개 변수가 필요하지 않습니다.callback = lambda _: True
(오랫동안이 답변은 처음 세 가지 유스 케이스 만 나열했지만 네 번째 케이스는 여기 에 표시된대로 명시 적으로 나열 할 가치가 있을 정도로 자주 나타났습니다. )
후자의 "throwaway variable or parameter name"유스 케이스는 translation lookup 유스 케이스와 충돌 할 수 있으므로 _
i18n 변환에도 사용되는 코드 블록에서 throwaway 변수로 사용하는 것을 피해야 합니다 (많은 사람들은 이중 밑줄을 선호합니다) ,, __
정확히이 이유로 버리기 변수).