네이밍에서 _는 private의 역할을 하는 컨벤션이다. 물론 변수를 a=10, _a=10 이렇게 한다고 _a가 콘솔에서 출력이 안 되는 것은 아니다. 이건 어디까지나 private를 표현하는데 쓰는 약속이기 때문이다.
__는 컨벤션이 아닌 하나의 문법적인 요소이다. __는 클래스 속성명을 맹글링하여 클래스간 속성명의 충돌을 방지하기 위한 용도로 사용된다. 파이썬의 맹글링 규칙은 __로 지정된 속성명 앞에 _ClassName을 결합하는 방식이다. 즉, ClassName이라는 클래스에서 method라는 메서드를 선언했다면 이는 _ClassNamemethod로 맹글링 된다.
ref.
mingrammer's note / 파이썬 언더스코어(_)에 대하여
- https://mingrammer.com/underscore-in-python/
큐울 / 파이썬! 지켜야할 기초 코딩 룰, 컨벤션
- http://nophotoplease.tistory.com/95
'기타 자료들' 카테고리의 다른 글
[JSON] 자주 사용하는 JSON 라이브러리 (0) | 2018.05.19 |
---|---|
[JAVA] 자바에서 객체 불변성을 확인하기 위한 .hashCode(), System.identityHashCode() 값 비교 (0) | 2018.05.12 |
[기초] 컨벤션(Convention) (0) | 2018.05.09 |
[기초] 네임 맹글링(Name Mangling) (0) | 2018.05.09 |
[Python] id(), hash() 차이 (0) | 2018.05.09 |