소수성 테스터를 코딩 할 때 나는 흥미로운 생각을하게되었다. 작업 결과가 0
으로 밝혀지면 무언가를하고 싶을 때 더 나은 ('파이썬적인') 태클 방법이 무엇입니까?if 문에서 0을 확인하는 Python 방식?
# option A - comparison
if a % b == 0:
print('a is divisible by b')
# option B - is operator
if a % b is 0:
print('a is divisible by b')
# option C - boolean not
if not a % b:
print('a is divisible by b')
PEP 8는 None
같은 싱글에 비교가 is
연산자로 수행되어야한다고 말한다. 또한 빈 시퀀스를 검사 할 때 not
을 사용하고 부울 값을 ==
또는 is
과 비교하지 말아야한다고 말합니다. 그러나 결과적으로 0
을 확인하는 것에 대해서는 언급하지 않습니다.
그래서 어떤 옵션을 사용해야합니까?
나는 그것이 (더) Pythonic인지 여부는 모르지만 나는 선호하는 C를 선호한다. – elssar
나는 더 읽기 쉽다. 파이썬 3.3 소스 코드를 보면 362 번 문자열 "== 0 :"을, 결코 "0 :"이 아닙니다. 옵션 C에 대해 자동으로 확인하기가 더 어려워 지지만 옵션 A가 선호됩니다. –