본문 바로가기
Python/Python FAQ

Python에서 None 테스트 [중복], not None test in Python [duplicate]

by 베타코드 2023. 6. 25.
반응형

질문


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은 종종 좋은 의사 코드와 유사합니다.

반응형

댓글