[Effective Python] | August 19, 2020
Effective Python: Second Edition 내용 정리
key: value
형식 (key와 colon은 붙이고, value 앞은 한 칸 띄어쓰기)= operator
앞뒤로는 한칸씩 띄어쓴다. (a = 2
)name: type
형식lowercase_underscore
(모두 소문자로 작성하고, 단어 사이는 underscore)_leading_underscore
(맨 앞에 underscore 1개 붙이기)__double_leading_underscore
(맨 앞에 underscore 2개 붙이기)CapitalizedWord
ALL_CAPS
self
를 사용 (self는 해당 instance object를 뜻한다)cls
를 사용 (cls는 해당 class를 뜻한다)Protected vs Private
protected(
_name
): 부모 class와 상속받은 자식 class에서만 사용 가능하고, class 외부에서는 접근하지 못하는 attributes
private(__name
): 해당하는 class 내부에서만 사용 가능. 자식 class 및 외부 접근 불가
if not a is b
) 보다는, Inline negation (if a is not b
)을 사용한다.~a == b
말고 a != b
[]
나 ''
와 같은 빈 값을 체크할 때, 길이를 비교(if len(somelist) == 0
) 하지 말고, if not somelist
와 같이 사용한다.False
로 처리하기 때문. 빈 값이 아닌 list는 if somelist
를 했을 때, True
로 처리된다.)if
statements, for
and while
loops, except
compound statements 를 한줄에 쓰지말고, 여러줄로 명확하게 적는다.\
를 사용해서 줄을 연결하는 것보다, parentheses(괄호)
를 사용해서 여러줄로 표현하는 것을 선호한다.import
는 항상 파일의 맨 위에 적는다.from bar import foo
(O)import foo
(X)from . import foo
와 같이 명확하게 적는다.import를 할 때는 다음과 같은 순서대로 section을 구분해 import 한다. 각 section은 알파벳 순서대로 import 한다.