- [BW 20] None을 반환하기보다는 예외를 발생시켜라2024년 10월 23일
- 31514
- 작성자
- 2024.10.23.:02
False와 동등한 반환 값을 잘못 해석하는 경우는 None이 특별한 의미를 가지는 파이썬 코드에서 흔히 저지르는 실수다.
아래 코드처럼 result는 0이 되어야 하는데, 잘못된 입력이 출력되는 상황이 발생한다.
x, y = 0, 5 def careful_divide(a, b): try: return a / b except ZeroDivisionError: return None result = careful_divide(x, y) if not result: print('잘못된 입력')
이를 해결하기 위해 두 가지 방법을 생각해볼 수 있다.
- 반환 값을 튜플로 분리한다.
- 첫 번째 요소에 성공 여부를 표시한다.
- 두 번째 요소에 실제 값을 표시한다.
- Exception을 호출한 쪽으로 발생시켜서 호출자가 이를 처리하게 한다.
'Book > 파이썬 코딩의 기술' 카테고리의 다른 글
[BW 22] 변수 위치 인자를 사용해 시각적인 잡음을 줄여라 (1) 2024.10.23 [BW 21] 변수 영역과 클로저의 상호작용 방식을 이해하라 (0) 2024.10.23 [BW 19] 함수가 여러 값을 반환하는 경우 절대로 네 값 이상을 언패킹하지 말라 (0) 2024.10.22 [BW 18] __missing__을 사용해 키에 따라 다른 디폴트 값을 생성하는 방법 (0) 2024.10.22 [BW 14] 복잡한 기준을 사용해 정렬할 때는 key 파라미터를 사용하라 (1) 2024.10.22 다음글이전글이전 글이 없습니다.댓글
스킨 업데이트 안내
현재 이용하고 계신 스킨의 버전보다 더 높은 최신 버전이 감지 되었습니다. 최신버전 스킨 파일을 다운로드 받을 수 있는 페이지로 이동하시겠습니까?
("아니오" 를 선택할 시 30일 동안 최신 버전이 감지되어도 모달 창이 표시되지 않습니다.)