1. PEP
Python Enhancement Proposal
더 나은 파이썬을 위한 제안 이라고 해석하면 적당할 것 같다.
개발자는 협업을 하는 존재고, 표준 스타일을 준수한다면, 낯선 코드 스타일로 인한 인지 부하를 줄이고 비즈니스 로직에 좀 더 집중할 수 있게 된다. 이는 결국 비즈니스의 제품 출시 속력과 생산성에 영향을 미친다.
2. 명명규약
- 보호돼야 하는(protected) 인스턴스 속성은
_leading_underscore
처럼 밑줄로 작성한다.
- 비공개(private, 반드시 한 클래스 내에서만 쓰이고 다른 곳에서는 쓰여선 안될 때) 인스턴스 속성은
__leading_underscore
처럼 밑줄 두 개로 시작한다.
- 클래스 메서드는 클래스를 가리키는 첫 번째 인자의 이름으로 반드시 cls를 사용해야 한다.
3. 식과 문
- 빈 컨테이너(container)나 시퀀스(sequence)([]나 '' 등)를 검사할 때는 길이를 0과 비교하지 말라. 암묵적으로 False로 취급되기 때문에
if not 컨테이너
라는 조건문을 써라.
- 여러 줄에 걸쳐 식을 쓸 때는 줄이 계속된다는 표시를 하는
\
문자보다는 괄호를 사용하라.
4. 임포트
- 모듈을 임포트할 때는 절대적인 이름(absolute name)을 사용하고, 현 모듈의 경로에 상대적인 이름은 사용하지 말라. 예를 들어
bar 패키지
로부터 foo 모듈
을 임포트한다면 from bar import foo
라고 해야하며, 단지 import foo를 하면 안 된다.
- 반드시 상대적인 경로로 임포트해야 하는 경우라면,
from . import foo
처럼 명시적인 구문을 사용하라.