반응형
질문
Out of these not None tests.
if val != None:
if not (val is None):
if val is not None:
어느 것이 선호되며, 왜 그런가?
답변
if val is not None:
# ...
None
이 아닌 변수를 테스트하는 Pythonic 관용구입니다. 이 관용구는 기본 매개변수를 갖는 키워드 함수를 선언할 때 특별한 용도가 있습니다. Python에서 is
는 동일성을 테스트합니다. Python 스크립트/프로그램에서 None
의 인스턴스는 하나뿐이므로, 이를 위한 최적의 테스트는 is
입니다. Johnsyweb이 지적한 바와 같이, 이 내용은 "프로그래밍 권장사항"으로 PEP 8에서 설명되어 있습니다.
if not (val is None):
보다 이것이 선호되는 이유는 간단합니다. 이는 단순히 Python의 Zen의 일부입니다. "가독성이 중요합니다." 좋은 Python은 종종 좋은 의사 코드와 유사합니다.
반응형
댓글