- 브렛슬라킨의 59가지의 Better way
- https://github.com/gil
- 대중적인 런타임 환경 CPython, Jython, IronPython, PyPy
$ python --version $ python3 --version
import sys print(sys.version_info) print(sys.version)
- Style Guide for Python Code
- https://www.python.org/dev/peps/pep-0008/
- tab 대신 space 4개를 사용
- 함수와 클래스는 빈 줄 두 개로 구분
- 클래스에서 메서드는 빈 줄 하나로 구분
- 함수, 변수, 속성은 lowercase_underscore
- 보호(protected) 인스턴스 속성은 _leading_underscore 형식
- 비공개(private) 인스턴스 속성은 __double_leading_underscore 형식
- 클래스와 예외는 CapitalizedWord 형식
- 모듈 수준 상수는 ALL_CAPS 형식
- 클래스의 인스턴스 메소드 첫 번째 파라미터는 'self'
- 클래스의 메서드 첫 번째 파라미터는 'cls'
- 긍정 표현식의 부정(if not a is b) 보다 인라인 부정(if a is not b)을 사용
- 빈 값을 확인은 (if len(somelist) == 0) 말고 if not somelist를 사용
- 값의 존재 확인은 if someList 사용
- 파일의 맨 앞에 import문 위치
- 상대적 import가 아닌 절대적 import 사용
- import foo 이 아닌 from bar import foo
- 상대적 import 사용시에는 from . import foo
- 표준 라이브러리의 모듈, 서드파티 모듈, 자신이 만든 모듈순
- 각각 알파벳순
- 상대적 import가 아닌 절대적 import 사용
- Pylint 도구 http://www.pylint.org
- 자동으로 PEP8 스타일 가이드를 강요하고 오류를 검출
- https://www.python.org/dev/peps/pep-0008/