PEP8 및 Python 커뮤니티 표준은을 사용하는 것 ALL_CAPS_CONSTANTS
입니다. C, Java, Perl, PHP, Python, bash 및 기타 프로그래밍 언어 및 셸 환경에서 수십 년 동안 사용 된 일반적인 시각적 단서입니다. 그러나 현대 온라인 어휘 에서 모든 캡은 소리를 의미 합니다. 그리고 소리 치는 것은 무례합니다.
그러나 파이썬은 다소 일관성이 없습니다 ALL_CAPS_CONSTANTS
. JavaScript는 가지고 Math.PI
있지만 Python에는 math.pi
있습니다. π보다 더 잘 인식되거나 지속적인 상수는 없습니다. 또는 sys.version_info
실행중인 Python 버전을 고려 하십시오. 프로그램의 수명 동안 100 %의 일정 - 지금까지보다 더 PORT
나 MAX_ITERATIONS
또는 다른 상수가 정의 것입니다. 아니면 sys.maxsize
어때요? 플랫폼의 최대 고유 정수 값은 하나 또는 두 개의 프로그램 실행뿐만 아니라 하드웨어 수명 동안 일정합니다.
이러한 상수 경우 - π와 우주의 근본적인 상수 전자 같은 일부 포함하고, 모든 영원에 따라 변화하지 않을 것이다 - 경우 가 낮은 경우, 음 ... 그래서 할 수있는 다른 상수가 될 수 있습니다. 선택할 수 있습니다.
기억 PEP8는 스타일 가이드입니다. 법률이 아닌 지침. 파이썬의 표준 라이브러리조차도 종종 지침을 위반합니다. 그리고 또 다른 핵심 Python 지침 인 PEP20 ( "The Zen of Python")을 인용합니다 .
- 못생긴 것보다 아름답다
- 가독성
- 실용성은 순도를 능가합니다.
프로그램의 실제 메모에 YELLY_CONSTANT
와 SHOUTY_PARAMETER
시작은 창살하기 위해서는 모든 대문자 상수는 일반적으로 정말 지속되지 않는 것을 기억하는 데 도움이 플라톤의 이상을 하지만, 프로그램 실행의 매개 변수를 설정합니다. 에 대한 진정 일정 아무것도 없다 PORT
, SITENAME
또는 NUMRUNS
, 그들은 독립 프로그램 전역으로 관리 할 필요가 없습니다은. 예를 들어, 전역 적으로 액세스 가능한 프로그램 매개 변수 번들로 사전에 놓을 수 있습니다.
config = {
'port': 80,
'sitename': "Bubba's Blog",
'numruns': 100,
}
파이썬에는 또한 훌륭한 키워드 매개 변수 전달 기능이있어 사용 필요성을 줄입니다 APPARENTLY_ANGRY_GLOBAL_VARIABLES
.
def process_data(sitename, port=80, numruns=100):
...
process_data("Bubba's Blog")
실제로, 이러한 값 중 상당수는 구성 파일, OS 환경 변수, 명령 행 인수 또는 제어 소스 / 패턴 의 역전 을 만족시키기 위해 다른 소스에서 읽습니다 . 그러나 그것은 또 다른 하루에 대한 더 큰 이야기입니다.