if
무언가가 유효한지 테스트해야합니까, 아니면 try
예외를 잡아야합니까?
- 한 가지 방법이 선호된다는 확실한 문서가 있습니까?
- 한 가지 방법은 더 파이썬 입니까?
예를 들어,
if len(my_list) >= 4:
x = my_list[3]
else:
x = 'NO_ABC'
또는:
try:
x = my_list[3]
except IndexError:
x = 'NO_ABC'
몇 가지 생각 ...
PEP 20 은 말합니다 :
오류가 자동으로 전달되지 않아야합니다.
명시 적으로 침묵하지 않는 한.
try
대신에를 사용하는 것이 if
자동으로 전달되는 오류로 해석되어야합니까? 그렇다면, 이런 식으로 그것을 사용하여 명시 적으로 침묵 시키는가?
나는 당신 이 한 가지 일만 할 수있는 상황에 대해서는 언급 하지 않습니다 . 예를 들면 다음과 같습니다.
try:
import foo
except ImportError:
import baz
if index in mylist
인덱스 테스트는 가능한 인덱스가 아닌 mylist의 요소입니다.if index < len(mylist)
대신에 원할 것입니다.