파이문

파이썬에서 언더바의 의미 본문

Python/Python

파이썬에서 언더바의 의미

민Z 2017. 1. 17. 23:22
728x90

파이썬에서 언더바의 의미


파이썬에서는 자바나 C++과 다르게 private, public과 같은 예약어가 존재하지 않는다. 그래서 파이썬 프로그래머들은 데이터나 메서드의 이름에 특정 규칙을 적용하였는데 그것이 바로 언더바 이다.


아래의 예제는 언더바가 붙은 경우는 클래스의 내부 메서드이다.

class A(object):
    def __init__(self):
        print("init")

    def __str__(self):
        pass
    
    def __repr__(self):
        pass
    
    def __del__(self):
        print("del")

그러나, 파이썬은 내부 이름에 누군가 접근하는 것을 실제로 막지는 않기 때문에, 언더바가 붙은 메서드는 사용할 때 매우 조심해야 한다. 


주로 클래스 내부 구현은 언더바 두개를, 기타 다른 모듈 레벨의 메서드는 하나가 붙는다.


만약 클래스를 만들 때 언더바가 두개 붙어야 하는지, 한개 붙어야 하는지 고민이 된다면 대개의 경우엔 하나만 붙여아 하지만, 클래스가 자식 클래스를 갖게 될 거라는 것을 알고 있다면, 그리고 자식 클래스에게 숨기고 싶은 속성이라면 언더바 두개를 붙인다.


예약어와 겹치는 변수(id나 type 같은)를 사용할 경우에는 앞이 아닌, 뒤에 언더바를 붙여 해결하도록 하자.


'Python > Python' 카테고리의 다른 글

Python 문자열  (0) 2018.01.14
파이썬 딕셔너리의 키  (0) 2017.08.19
파이썬 클래스 상속  (0) 2017.01.16
파이썬 얕은 복사와 깊은 복사  (0) 2017.01.09
파이썬에서 switch-case문 사용하기  (0) 2016.05.25
Comments