Python "개인"함수 코딩 규칙
파이썬 모듈과 그 안에 함수를 작성할 때 외부인에게 노출되어야하는 "공용"함수가 있지만 로컬 및 내부에서만보고 사용되어야하는 다른 "비공개"함수가 있습니다.
파이썬에는 절대적인 개인 기능이 없다는 것을 이해합니다. 그러나 "공개"기능과 "개인"기능을 구별하는 데 가장 좋고, 가장 깔끔하고, 가장 많이 사용되는 스타일은 무엇입니까?
내가 아는 몇 가지 스타일을 나열합니다.
__all__
"공용"함수를 나타 내기 위해 모듈 파일에서 사용 ( python __all__ 모듈 레벨 변수는 무엇입니까? )- "개인"기능의 이름 시작 부분에 밑줄 사용
사람들이 사용하는 다른 아이디어 나 관습이 있습니까?
대단히 감사합니다!
Python의 클래스 모듈 문서에서 :
객체 내부에서만 접근 할 수없는 Private”인스턴스 변수는 Python에 존재하지 않습니다. 그러나 대부분의 Python 코드가 따르는 규칙이 있습니다. 밑줄이 붙은 이름 (예 : _spam)은 API의 비공개 부분으로 처리되어야합니다 (함수, 메서드 또는 데이터 멤버인지 여부). . 구현 세부 사항으로 간주되어야하며 예고없이 변경 될 수 있습니다.
클래스 전용 멤버에 대한 유효한 사용 사례가 있기 때문에 (즉, 하위 클래스에서 정의한 이름과 이름의 이름 충돌을 방지하기 위해) 이름 맹 글링이라는 메커니즘에 대한 지원이 제한됩니다. __spam 형식의 식별자 (최소 2 개의 선행 밑줄, 최대 1 개의 후행 밑줄)는 텍스트로 _classname__spam으로 대체됩니다. 여기서 classname은 선행 밑줄이 제거 된 현재 클래스 이름입니다. 이 맹 글링은 클래스 정의 내에서 발생하는 한 식별자의 구문 위치에 관계없이 수행됩니다.
참고 URL : https://stackoverflow.com/questions/15047122/python-private-function-coding-convention
'IT Share you' 카테고리의 다른 글
IIS Express — SSL 작동하기 (0) | 2020.12.08 |
---|---|
'git remote add upstream'은 무엇을 도와 줍니까? (0) | 2020.12.08 |
Backbone.js 뷰에서 $ el과 el의 차이점은 무엇입니까? (0) | 2020.12.08 |
데이터웨어 하우스 대 OLAP 큐브? (0) | 2020.12.08 |
오류 : 잡히지 않음 (약속에서) : 오류 : 어떤 경로도 일치 할 수 없습니다 Angular 2 (0) | 2020.12.08 |