값이 없음을 표현하고 정확하게 검사합니다.
None은 아직 값이 없거나 결과가 없음을 나타내는 하나의 특별한 객체입니다. 0, False, 빈 문자열과 의미가 다릅니다. None 비교에는 ==보다 is None과 is not None을 사용합니다.
예제에서 value is None 부분부터 찾으세요. 값을 만드는 표현식과 그 값을 다음 문장으로 넘기는 흐름을 한 줄씩 따라가면 실행 결과를 스스로 설명할 수 있습니다.
함수가 return을 만나지 않고 끝나면 None을 반환합니다. 선택적인 값은 사용하는 쪽에서 None인 경우를 명시적으로 처리해야 합니다.
없음, 빈 값, 0을 도메인에서 구분해야 데이터 손실과 잘못된 기본값 적용을 막을 수 있습니다.
이 코드는 브라우저의 실제 Python에서 실행됩니다. 먼저 현재 결과를 확인한 뒤 discount가 0인 경우와 None인 경우를 각각 출력하도록 바꿔보세요.
if not value는 None뿐 아니라 0과 빈 문자열도 참으로 판단하므로 정확한 구분이 필요할 때 쓰지 마세요.
직접 바꿔보세요discount가 0인 경우와 None인 경우를 각각 출력하도록 바꿔보세요.
실행 버튼을 누르면 결과가 여기에 표시됩니다.