[파이썬] 파이썬 언더바 개념

    언더바를 사용하는 상황

    ● 인터프리터에서의 마지막 값

    ● 무시하는 값

    ● 숫자 자릿수 구분

    ● 모듈 내에서만 변수/함수를 사용할 때

    ● 네임 맹글링

    ● 매직 메소드

     

    1. 인터프리터에서의 마지막 값

    언더바는 앞선 코드 실행의 결과가 들어가기도 한다.

     

    2. 무시하는 값

    리스트 내의 원소를 네이밍 할때 언더바를 사용하면 해당 위치의 원소는 무시하겠다는 의미이지만 언더바를 변수로 생각하고 print하면 결과가 나오긴 한다.

     

    3. 숫자 자릿 수 구분

    언더바는 숫자형 변수를 사용할 때 자릿수 구분을 위해 사용하기도 한다.

    print(100_000) => 100000

     

    4. 변수/함수를 모듈 내에서만 사용하고 싶을 때

    # greeting.py
    def hi():
        print('hi')
    
    def _hello():
        print('hello')

    위와 같이 greeting.py 라는 모듈을 만들고 from greeting import를 사용하여 모듈의 모든 함수를 임포트할 때  _hello() 함수는 사용할 수 없다.

    그러나 import greeting이나 from greeting import _hello로 함수 이름을 직접 적어주면 _hello 함수를 사용할 수 있다.

     

    5. 네임 맹글링 

    네임 맹글링은 앞 언더바 두개를 붙여 표기한다.

     외부에서 클래스 속성 값에 접근하지 못하도록 할 때

    속성값 앞에 언더바를 두개 붙이면 클래스를 생성해도 해당 속성값에 접근할 수가 없다.

    ex)

    class Resume:
        def __init__(self):"
            self.__hobby = "독서"
            
    human = Resume()
    
    print(human.__hobby) => AttributeError: 'Resume' object has no attribute '__hobby'

     

    6. 매직 메소드 

    앞, 뒤 언더바 2개씩으로 묶여있으며 

    https://www.tutorialsteacher.com/python/magic-methods-in-python에 종류가 나타나 있다.

    댓글