문제

그래서 나는 일부 언어가 컨벤션을 기대 한 것을 알고 있습니다.

php- underscore_case() 대부분의 경우, lolo

자바 - camelCase()

씨# - PascalCase()

등.

"Pythonic"이름 지정 컨벤션은 무엇입니까? 결국에는 중요하지 않지만 대부분의 모듈이 수행되는 "모범 사례"방법이 있는지 궁금합니다.

도움이 되었습니까?

해결책

두 단어: PEP 8.

PEP 8은 (사실상) 파이썬 스타일 가이드입니다. 이 문서의 일부 하이라이트 (나는 의도적으로 일부 물건을 남겼습니다. INS 및 OUTS의 원본 문서를 읽으십시오) :

  • 패키지 및 모듈 이름: All-LowerCase 이름. 가독성이 향상되면 밑줄을 모듈 이름으로 사용할 수 있습니다.

  • 클래스 이름: 거의 예외없이 클래스 이름은 Capwords 컨벤션을 사용합니다.*

  • 글로벌 변수 이름: 컨벤션은 기능과 거의 동일합니다.

  • 기능 이름: 기능 이름은 소문자 여야하며, 단어가 가독성을 향상시키기 위해 필요에 따라 밑줄로 단어를 분리해야합니다. 혼합물은 이미 우세한 스타일 인 상황에서만 허용됩니다 (예 : threading.py), 거꾸로 호환성을 유지합니다.

  • 메소드 이름 및 인스턴스 변수: 가독성을 향상시키기 위해 필요에 따라 밑줄로 분리 된 단어가있는 소문자. 비공개 메소드 및 인스턴스 변수에 대해서만 하나의 주요 밑줄을 사용하십시오.

  • 상수: 단어를 분리하는 밑줄로 모든 대문자로 작성되었습니다. 예는 포함됩니다.

다른 팁

읽다 PEP 8.

Python의 제작자 인 Guido van Rossum이 작성한 Python Code의 스타일 가이드입니다.

또한 귀하의 질문에 대한 답은 사용하는 것입니다. underscore_case 변수 및 함수 이름의 경우 및 PascalCase 수업을 위해.

일곱 단어 : Code Python 스타일 가이드의 Google Summer

일부 명명 규칙은 PEP8과 다르고 대신이 스타일 가이드가 시작된 원래 Google Python 스타일 가이드를 따릅니다.

  • "내부"는 모듈 내부 또는 클래스 내에서 보호 또는 개인을 의미합니다. 단일 밑줄 (_)을 선제하면 모듈 변수 및 함수를 보호하는 데 약간의 지원이 있습니다 (가져 오기 *에는 포함되지 않음).
  • 인스턴스 변수 또는 메소드에 이중 밑줄 (__)을 선물하면 변수 또는 메소드를 클래스에 비공개로 만드는 데 효과적으로 사용됩니다 (이름 망글 링 사용).
  • 관련 클래스와 최상위 기능을 모듈에 함께 배치하십시오. Java와 달리 모듈 당 하나의 클래스로 자신을 제한 할 필요가 없습니다. 그러나 동일한 모듈의 클래스와 최상위 기능이 응집력이 높은지 확인하십시오.
  • 클래스 이름에는 캡 워드를 사용하지만 모듈 이름에는 lower_with_under.py를 사용하십시오.

이름 지정 예

  • 패키지 : lower_with_under
  • 모듈 : lower_with_under, _lower_with_under
  • 클래스: CapWords, _CapWords
  • 예외 : CapWords
  • 기능 : firstLowerCapWords(), _firstLowerCapWords()
  • 글로벌/클래스 상수 : CAPS_WITH_UNDER, _CAPS_WITH_UNDER
  • 글로벌/클래스 변수 : lower_with_under, _lower_with_under
  • 인스턴스 변수 : lower_with_under, _lower_with_under (보호) 또는 __lower_with_under (사적인)
  • 메소드 이름 : firstLowerCapWords(), _firstLowerCapWords() (보호) 또는 __firstLowerCapWords() (사적인)
  • 함수/메소드 매개 변수 : lower_with_under
  • 로컬 변수 : lower_with_under
라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top