Python/Python 기초

[Python] 파이썬 코딩 스타일

데이터 세상 2022. 4. 26. 02:13

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

아름다움이 추함보다 낫다.

명시적인 것이 암시적인 것보다 낫다.

단순함이 복잡함보다 낫다.

복잡함이 꼬인 것보다 낫다.

수평이 계층보다 낫다.

여유로운 것이 밀집된 것보다 낫다.

가독성이 중요하다.

특별한 경우라는 것은 규칙을 어겨야 할 정도로 특별한 것이 아니다.

비록 실용성이 순수성에 우선하지만 에러 앞에서는 절대 침묵하지 말라

명시적으로 에러를 감추려는게 아니라면 모호함을 앞에 두고 이를 유추하겠다는 유혹을 버려라

문제를 풀어낼 -바람직하고도 유일하며- 명확한 방법이 존재할 것이다.

반응형

'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