Computer >> 컴퓨터 >  >> 프로그래밍 >> Python

파이썬에서 밑줄(_)의 역할 완벽 정리: 알아두면 유용한 5가지 용도

파이썬에서 밑줄(underscore, _)은 단순한 문자가 아니라 특별한 의미를 가지는 기호입니다. 파이썬 개발자라면 반드시 알아야 할 밑줄의 대표적인 활용 사례를 하나씩 살펴보겠습니다.

1. 인터프리터에서 마지막 표현식 값 저장하기

파이썬 인터프리터는 가장 최근에 실행된 표현식의 결과값을 자동으로 특수 변수 _에 저장합니다. 이를 활용하면 이전 계산 결과를 다시 입력하지 않고도 바로 참조할 수 있어 편리합니다.

예제

>>> 12 + 10
22
>>> _
22

2. 특정 값을 무시할 때 사용하기

밑줄은 엘릭서(Elixir), 얼랭(Erlang), 파이썬 등 여러 프로그래밍 언어에서 불필요한 값을 무시하는 용도로 사용됩니다. 언패킹(unpacking) 시 특정 값이 필요 없거나 사용하지 않을 경우, 해당 값을 밑줄에 할당하면 됩니다.

예제

>>> _, _, a = (1, 2, 3)
>>> a
3

위 예제에서 첫 번째와 두 번째 값은 무시되고, 세 번째 값만 변수 a에 저장됩니다.

3. 변수와 함수 이름에 특별한 의미 부여하기

이름 앞에 밑줄이 하나 붙은 변수나 함수, 클래스는 관례상 비공개(private)임을 나타냅니다. 이러한 네이밍 컨벤션을 따르는 객체들은 from module import * 구문으로 모듈을 가져올 때 제외됩니다.

  • _variable: 비공개 변수·함수임을 암시하는 관례적 표기
  • __name: 네임 맹글링(name mangling)이 적용되어 클래스 내부에서만 접근 권장
  • __name__: 파이썬이 정의한 매직 메서드(던더 메서드)

4. 숫자 리터럴의 자릿수 구분하기

파이썬 3.6부터는 큰 숫자를 읽기 쉽게 하기 위해 숫자 사이에 밑줄을 삽입할 수 있습니다. 실제 값에는 영향을 주지 않으면서 가독성만 크게 향상시키는 기능입니다.

예제

>>> a = 7_200_000_000  # 72억을 쉽게 읽을 수 있음
>>> a
7200000000

참고로 이 기능은 파이썬 v3.6에서 처음 도입되었으므로, 그 이전 버전에서는 사용할 수 없습니다.

5. 국제화(i18n) 함수 이름으로 사용하기

국제화 라이브러리인 gettext에서는 관례적으로 문자열 번역 함수의 이름을 밑줄로 지정합니다. 다음과 같이 코드 안에서 자연스럽게 번역 대상 문자열을 표시할 수 있습니다.

예제

import gettext
gettext.install('myapp')

print(_('Hello, World!'))  # 번역된 문자열 출력

마무리

이처럼 파이썬의 밑줄은 단순한 기호를 넘어 마지막 결과 저장, 값 무시, 비공개 표시, 숫자 가독성 향상, 국제화까지 다양한 역할을 수행합니다. 각 용도를 정확히 이해하고 활용하면 더 깔끔하고 가독성 높은 파이썬 코드를 작성할 수 있습니다.