All about

_ (언더스코어)와 __ (두 개의 언더스코어 혹은 더블 언더스코어)는 Python에서 특별한 의미를 가지는 네이밍 규칙입니다.

 

_ (언더스코어):

단일 언더스코어는 흔히 사용되는 변수명으로언패킹이나 반복문에서 사용되지 않는 값을 무시할  주로 활용됩니다.
다른 개발자에게 해당 값이 사용되지 않을 것임을 알리는 표시로 사용될  있습니다.

for _ in range(5):
    # 언더스코어는 반복 중에 사용되지 않는 값을 무시합니다.
    print("Hello")

 

__ (두 개의 언더스코어):

두 개의 언더스코어는 "맹글링" (mangling)이라고 알려진 이름 충돌을 피하기 위해 클래스 내에서 사용됩니다.

클래스의 속성이름이 __ 시작하면, 파이썬은 _classname__attribute 같은 이름으로 속성을 변경합니다. 이를 통해 하위 클래스나 외부에서 이름 충돌을 방지할 있습니다.

class MyClass:
    def __init__(self):
        self.__my_private_attribute = 42

obj = MyClass()
# 실제로는 _MyClass__my_private_attribute로 저장됨
print(obj.__my_private_attribute)  # 에러 발생

 

개의 언더스코어는 이름 충돌을 피하기 위한 메커니즘으로 사용되지만, 일반적으로 파이썬에서는 "명시적인 것이 암시적인 것보다 좋다" 철학에 따라 직접적으로 속성에 접근하는 것을 권장합니다. 이름 충돌을 방지하는 데에는 단일 언더스코어를 사용하는 경우가 흔합니다.

공유하기

facebook twitter kakaoTalk kakaostory naver band
loading