파이썬에서는 어떤 경우에는 단일 밑줄(_)을 사용하고 어떤 경우에는 이중 밑줄(__)을 사용합니다.
Python에는 밑줄을 사용하는 다음과 같은 경우가 있습니다.
- 마지막 표현식의 값을 인터프리터에 저장하려는 경우
- 일부 값을 무시하려는 경우
- 변수 또는 함수 선언용.
- 숫자 측면 값의 자릿수를 구분합니다.
- '국제화(i18n)' 또는 '현지화(l10n)' 기능으로도 사용됩니다.
이제 모든 경우에 대한 몇 가지 예입니다.
통역사에서 사용
파이썬 인터프리터는 마지막 표현식 값을 '_'에 저장합니다.
>>> 20 20 >>> _ 20 >>> _ + 3 23
값 무시
밑줄은 값을 무시할 때도 사용됩니다.
x, _, y = (1, 2, 3)
여기서 x =1, y =3이고 값 2를 무시합니다.
변수 및 함수 선언에 사용
Python은 private을 지원하지 않으므로 무언가의 private을 강제할 수는 없지만 다른 모듈에서 직접 호출할 수는 있습니다.
single_trailing_underscore_
이 변환을 쉽게 사용하면 Python 키워드와 내장 기능의 충돌을 피할 수 있습니다.
__double_leading_underscore
이것은 맹글이며 이름 간의 속성 이름 충돌을 방지하는 데 사용됩니다.
클래스에 메소드 이름 "__display"를 쓰면 이름이 "_ClassName__display" 형식으로 엉망이 됩니다.
__double_leading_and_trailing_underscore__
어떤 경우에는 이 변환을 사용합니다. _init_처럼.
숫자 측면 값의 자릿수를 구분하려면
dec_base = 1_000_000 print(dec_base) # 1000000
국제화(i18n)/현지화(l10n) 기능으로
이것은 단지 관례일 뿐입니다. 여기에서 밑줄을 긋는 구문 기능은 없습니다. i18n/l10n을 밑줄 변수에 바인딩하면 C 관례에서 따온 것입니다.