IT Share you

Python "개인"함수 코딩 규칙

shareyou 2020. 12. 8. 20:25
반응형

Python "개인"함수 코딩 규칙


파이썬 모듈과 그 안에 함수를 작성할 때 외부인에게 노출되어야하는 "공용"함수가 있지만 로컬 및 내부에서만보고 사용되어야하는 다른 "비공개"함수가 있습니다.

파이썬에는 절대적인 개인 기능이 없다는 것을 이해합니다. 그러나 "공개"기능과 "개인"기능을 구별하는 데 가장 좋고, 가장 깔끔하고, 가장 많이 사용되는 스타일은 무엇입니까?

내가 아는 몇 가지 스타일을 나열합니다.

  1. __all__"공용"함수를 나타 내기 위해 모듈 파일에서 사용 ( python __all__ 모듈 레벨 변수는 무엇입니까? )
  2. "개인"기능의 이름 시작 부분에 밑줄 사용

사람들이 사용하는 다른 아이디어 나 관습이 있습니까?

대단히 감사합니다!


Python의 클래스 모듈 문서에서 :

객체 내부에서만 접근 할 수없는 Private”인스턴스 변수는 Python에 존재하지 않습니다. 그러나 대부분의 Python 코드가 따르는 규칙이 있습니다. 밑줄이 붙은 이름 (예 : _spam)은 API의 비공개 부분으로 처리되어야합니다 (함수, 메서드 또는 데이터 멤버인지 여부). . 구현 세부 사항으로 간주되어야하며 예고없이 변경 될 수 있습니다.

클래스 전용 멤버에 대한 유효한 사용 사례가 있기 때문에 (즉, 하위 클래스에서 정의한 이름과 이름의 이름 충돌을 방지하기 위해) 이름 맹 글링이라는 메커니즘에 대한 지원이 제한됩니다. __spam 형식의 식별자 (최소 2 개의 선행 밑줄, 최대 1 개의 후행 밑줄)는 텍스트로 _classname__spam으로 대체됩니다. 여기서 classname은 선행 밑줄이 제거 된 현재 클래스 이름입니다. 이 맹 글링은 클래스 정의 내에서 발생하는 한 식별자의 구문 위치에 관계없이 수행됩니다.

참고 URL : https://stackoverflow.com/questions/15047122/python-private-function-coding-convention

반응형