파이썬 : 두 단어로 된 이름을 가진 모듈 이름 지정
나는 하나의 .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와 새로운 경향이 대문자와 밑줄을 방지하는 것입니다 것을 볼 것입니다. 예를 들어 ConfigParser
Python 2 configparser
에서는 Python 3이됩니다.
이것을 살펴보면 가장 좋은 방법은 대문자와 밑줄을 피하고 단어를 함께 결합하는 것 sconsconfig
입니다.
-
안돼. 기호는 마이너스 연산자에 사용됩니다. 대부분의 프로그래밍 언어에서도 마찬가지입니다. 사용 _
하거나 전혀 사용 하지 마십시오.
참고 URL : https://stackoverflow.com/questions/2852283/python-naming-a-module-that-has-a-two-word-name
'Program Tip' 카테고리의 다른 글
도커 진입 점 스크립트에 대해 set -e 및 exec“$ @”의 기능은 무엇입니까? (0) | 2020.11.21 |
---|---|
Grep 및 Python (0) | 2020.11.21 |
더 큰 애플리케이션 범위를 제공하기 위해 이전 버전의 libc에 대한 링크 (0) | 2020.11.21 |
동일한 열에서 여러 WHERE 조건으로 선택 (0) | 2020.11.21 |
javascript / html5로 즉석에서 사운드 생성 (0) | 2020.11.21 |