[python] 모듈에 대한 파이썬 명명 규칙

“nib”라는 클래스를 정의하는 목적을 가진 모듈이 있습니다. (및 몇 가지 관련 클래스도 있습니다.) 모듈 자체를 어떻게 호출해야합니까? “부리”? “nibmodule”? 다른 건 없나요?



답변

그냥 펜촉. 클래스 이름을 Nib (대문자 N)로 지정합니다. 명명 규칙 및 기타 스타일 조언에 대한 자세한 내용 은 Python 스타일 가이드 인 PEP 8을 참조하십시오 .


답변

나는 그것을 nib.py라고 부를 것입니다. 그리고 클래스 이름을 Nib로 지정합니다.

내가 작업중인 더 큰 파이썬 프로젝트에는 기본적으로 하나의 중요한 클래스를 정의하는 많은 모듈이 있습니다. 클래스 이름은 대문자로 시작합니다. 모듈은 소문자로 된 클래스와 같이 이름이 지정됩니다. 이로 인해 다음과 같은 수입이 발생합니다.

from nib import Nib
from foo import Foo
from spam.eggs import Eggs, FriedEggs

Java 방식을 에뮬레이트하는 것과 비슷합니다. 파일 당 하나의 클래스. 하지만 유연성이 더 해져서 말이된다면 항상 단일 파일에 다른 클래스를 추가 할 수 있습니다.


답변

나는 내 솔루션이 파이썬적인 관점에서 그다지 인기가 없다는 것을 알고 있지만, 하나의 모듈-> 하나의 클래스의 Java 접근 방식을 사용하고 모듈이라는 이름을 클래스로 지정하는 것을 선호합니다. 나는 파이썬 스타일의 이유를 이해하지만 많은 클래스를 포함하는 매우 큰 파일을 갖는 것을 너무 좋아하지 않습니다. 접기에도 불구하고 탐색하기가 어렵습니다.

또 다른 이유는 버전 제어입니다. 큰 파일이 있다는 것은 커밋이 해당 파일에 집중하는 경향이 있다는 것을 의미합니다. 이것은 잠재적으로 해결해야 할 갈등의 양을 증가시킬 수 있습니다. 또한 커밋이 특정 파일을 수정하는 추가 로그 정보를 잃어 버립니다 (따라서 특정 클래스가 포함됨). 대신 어떤 수정이 수행되었는지 이해하기 위해 커밋 주석 만있는 모듈 파일에 대한 수정이 표시됩니다.

요약하면 파이썬 철학을 선호한다면 다른 게시물의 제안으로 이동하십시오. 대신 자바와 같은 철학을 선호한다면 Nib 클래스를 포함하는 Nib.py를 만드십시오.


답변

펜촉은 괜찮습니다. 확실하지 않은 경우 Python 스타일 가이드를 참조하세요.

에서 PEP 8 :

패키지 및 모듈 이름 모듈에는 모두 소문자로 된 짧은 이름이 있어야합니다. 가독성이 향상되면 모듈 이름에 밑줄을 사용할 수 있습니다. Python 패키지에는 밑줄을 사용하지 않는 것이 좋지만 모두 소문자로 된 짧은 이름이 있어야합니다.

모듈 이름은 파일 이름에 매핑되고 일부 파일 시스템은 대소 문자를 구분하지 않고 긴 이름을 자르기 때문에 모듈 이름을 상당히 짧게 선택하는 것이 중요합니다. 이것은 Unix에서는 문제가되지 않지만 문제가 될 수 있습니다. 코드가 이전 Mac 또는 Windows 버전 또는 DOS로 전송 될 때 문제가 발생합니다.

C 또는 C ++로 작성된 확장 모듈에 더 높은 수준 (예 : 더 많은 객체 지향) 인터페이스를 제공하는 Python 모듈이 수반되면 C / C ++ 모듈에는 선행 밑줄 (예 : _socket)이 있습니다.


답변

에서 PEP-8 패키지 및 모듈 이름 :

모듈 에는 모두 소문자로 된 짧은 이름이 있어야합니다. 가독성이 향상되면 모듈 이름에 밑줄을 사용할 수 있습니다.

Python 패키지 에는 밑줄을 사용하지 않는 것이 좋지만 모두 소문자로 된 짧은 이름이 있어야합니다.

C 또는 C ++로 작성된 확장 모듈 에 더 높은 수준 (예 : 더 많은 객체 지향) 인터페이스를 제공하는 Python 모듈이 수반되면 C / C ++ 모듈에는 선행 밑줄 (예 : _socket)이 있습니다.


답변

파이썬의 foo 모듈 은 Java 의 Foo 클래스 파일 과 동일합니다.

또는

파이썬의 foobar 모듈 은 Java 의 FooBar 클래스 파일 과 동일합니다.


답변