728x90
반응형
PEP 8
https://peps.python.org/pep-0008/
구글 파이썬 스타일 가이드
https://google.github.io/styleguide/pyguide.html
Naming Conventions
Type | Public | Internal |
패키지 | lower_with_under | |
모듈 | lower_with_under | _lower_with_under |
클래스 | CapWords | _CapWords |
예외 | CapWords | |
함수 | lower_with_under() | _lower_with_under() |
글로벌/클래스 상수 | CAPS_WITH_UNDER | _CAPS_WITH_UNDER |
글로벌/클래스 변수 | lower_with_under | _lower_with_under |
인스턴스 변수 | lower_with_under | _lower_with_under (protected) |
메서드 이름 | lower_with_under() | _lower_with_under() (protected) |
함수/메서드 매개변수 | lower_with_under | |
지역 변수 | lower_with_under |
함수의 기본 값으로 가변 객체(Mutable Object)를 사용하지 않아야 한다.
함수가 객체를 수정하면 기본값이 변경되기 떄문에 기본값으로 [] 또는 {} 등을 사용하지 않아야 한다.
불편 객체(Immutable Object)를 사용하며, None을 명시적으로 할당하는 것도 좋은 방법이다.
def foo(a, b=[]):
...
def foo(a, b:Mapping={}):
...
>>
def foo(a, b=None):
...
def foo(a, b:Optional[Sequence]=None):
...
True, False를 판별할 때는 암시적(Implicit) 방법을 사용하는 것이 간결하고 가독성이 높다.
최대 줄 길이는 80자로 한다.
파이썬 철학
The Zen of Python, by Tim Peters
아름다움이 추함보다 낫다.
명시적인 것이 암시적인 것보다 낫다.
단순함이 복잡함보다 낫다.
복잡함이 꼬인 것보다 낫다.
수평이 계층보다 낫다.
여유로운 것이 밀집된 것보다 낫다.
가독성이 중요하다.
특별한 경우라는 것은 규칙을 어겨야 할 정도로 특별한 것이 아니다.
비록 실용성이 순수성에 우선하지만 에러 앞에서는 절대 침묵하지 말라
명시적으로 에러를 감추려는게 아니라면 모호함을 앞에 두고 이를 유추하겠다는 유혹을 버려라
문제를 풀어낼 -바람직하고도 유일하며- 명확한 방법이 존재할 것이다.
728x90
반응형
'Python > Python 기초' 카테고리의 다른 글
[Python] 파이썬 문법 기초 (0) | 2022.04.26 |
---|---|
Dynamic Typing vs Static Typing (0) | 2022.04.26 |
Object Reference (0) | 2021.02.25 |
[Python] Python Module (0) | 2021.02.24 |
[Python] Python Built-in Functions (0) | 2021.02.24 |