파이썬 스타일 가이드

Python Enhancement Proposal #8

전체 내용은 여기 참고

Whitespace

  • 탭이 아닌 스페이스 사용
  • 4 스페이스로 들여쓰기
  • 한 줄의 길이는 79자 이하
  • 표현식을 여러 줄에 나눠 쓸 경우 일반적인 들여쓰기에서 한 수준 추가
  • 함수와 클래스는 빈 줄 두 개로 구분
  • 메서드는 빈 줄 하나로 구분
  • 리스트 인덱스, 함수 호출, 키워드 인수 할당에는 스페이스 미사용
  • 변수 할당 앞뒤에 스페이스 하나만 사용

Naming

  • 함수, 변수, 속성은 lowercase_underscore
  • Protected 속성은 _leading_underscore
  • Private 속성은 __double_leading_underscore
  • 클래스와 예외는 CaptalizedWord
  • 모듈 수준 상수는 ALL_CAPS
  • 클래스 인스턴스 메서드의 첫 번째 파라미터 이름은 self
  • 클래스 메서드의 첫 번째 파라미터 이름은 cls

Expression & Statement

  • 긍정 표현식의 부정형(if not a is b) 보다는 인라인 부정(if a is not b) 형태 사용
  • 길이를 확인해 빈 값을 확인(if len(a_list) == 0)하지 말고, 암시적 False를 확인(if not a_list)
  • 한 줄로 된 if, for, while, except 문 등을 사용하지 말고 여러 줄로 나눠서 명료하게 작성
  • 항상 파일의 가장 위에 import
  • 현재 모듈의 경로를 기준으로 상대 경로로 된 이름을 사용하지 말고 절대 이름을 사용해 모듈 임포트 — 예를 들어 bar 패키지의 foo 모듈을 임포트하려면 그냥 import foo가 아닌 from bar import foo
  • 상대적인 임포트를 해야 할 경우 명시적인 구문을 써서 from . import foo
  • 임포트 순서는 표준 라이브러리 모듈 - 서드파티 모듈 - 작성 모듈 순으로 하고, 알파벳 순으로 정렬