Program Tip

파이썬 : 두 단어로 된 이름을 가진 모듈 이름 지정

programtip 2020. 11. 21. 09:24
반응형

파이썬 : 두 단어로 된 이름을 가진 모듈 이름 지정


나는 하나의 .py 소스 파일이있는 정말 간단한 모듈을 모 으려고 노력하고 있으며 이미 장애물에 부딪 혔습니다. 나는 그것을 부르려고 scons-config했지만 import scons-config파이썬에서 작동하지 않습니다. 나는 이 질문을 발견 하고 PEP8 스타일 가이드를 보았지만 다소 당황 스럽습니다. 두 단어 이름 규칙에 대해서는 이야기하지 않습니다.

이것을 처리하는 올바른 방법은 무엇입니까?

  • 모듈 이름 : SconsConfig? scons_config? sconsconfig? scons.config?
  • 단일 .py 파일의 이름 : scons-config.py? scons_config.py?

편집 : "밑줄 사용이 권장되지 않음"을 보았고 그로 인해 막 다른 골목에 남았습니다. "sconsconfig"또는 "scons_config"를 사용해야합니까 (다른 것들은 나와 있지 않은 것 같습니다)?


필요한 경우 항상 밑줄을 사용하십시오 _.

점을 사용하면 .작동하지 않습니다. 그렇지 않으면

from scons.config import whatever

깨질 것입니다.

그러나 PEP 8은이를 명확하게 설명합니다.

패키지 및 모듈 이름

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

최신 정보:

귀하의 질문을 직접 타겟팅하려면 : sconsconfig괜찮다고 생각 합니다. 너무 길지 않고 읽기 쉽습니다.

그러나 솔직히, 밑줄을 사용하면 누구도 당신을 비난하지 않을 것이라고 생각합니다. 당신은 신경 안 일정 수준 항상있다 많은 더 이상은.


첫째, 모듈 이름은 단일 .py 파일의 이름과 동일합니다. Python-speak에서 여러 .py 파일 모음은 패키지입니다.

PEP-8은 밑줄로 패키지 이름을 나누지 않습니다. 내 사이트 패키지 디렉토리의 빠른 피크는 여러 단어 이름이 일반적으로 함께 실행된다는 것을 보여줍니다 (예 : setuptools, sqlalchemy).

모듈 이름 (즉, 파일 이름)은 밑줄로 구분 될 수 있습니다 (그리고 나는 함께 실행되어 거의 읽을 수없는 이름을 싫어하기 때문에 보통 이렇게합니다).

소문자 만 사용하십시오 (PEP-8 기준). 이것은 대소 문자를 구분하는 파일 시스템에서 대소 문자를 구분하지 않는 파일 시스템으로 또는 그 반대로 이동할 때 문제를 방지합니다.


PEP-8 외에도 네이티브 Python 모듈이이 문제를 어떻게 처리하는지 확인할 수 있습니다.

당신이 비교한다면 파이썬 2의 기본 모듈파이썬 3의 , 당신은 공식 DEVS와 새로운 경향이 대문자와 밑줄을 방지하는 것입니다 것을 볼 것입니다. 예를 들어 ConfigParserPython 2 configparser에서는 Python 3이됩니다.

이것을 살펴보면 가장 좋은 방법은 대문자와 밑줄을 피하고 단어를 함께 결합하는 것 sconsconfig입니다.


-안돼. 기호는 마이너스 연산자에 사용됩니다. 대부분의 프로그래밍 언어에서도 마찬가지입니다. 사용 _하거나 전혀 사용 하지 마십시오.

참고 URL : https://stackoverflow.com/questions/2852283/python-naming-a-module-that-has-a-two-word-name

반응형