Python에서 값 테스트에 'try'와 'if'를 사용해야 하는 경우
Python에서 변수에 다음이 있는지 테스트할 때 값을 사용하는 경우 'try' 또는 'if' 중 하나를 선택해야 하는 경우가 많습니다. 이 질문의 목적은 각 구성의 근거에 대한 지침을 제공하는 것입니다.
목록을 반환하거나 값을 반환하지 않는 함수를 생각해 보세요. 처리하기 전에 결과를 확인하려면
result = function(); if (result): for r in result: # process items
또는
result = function(); try: for r in result: # Process items except TypeError: pass;
'시도'/'제외'에 대한 근거
'시도'/'제외' 접근 방식은 '결과' 내에 값이 있다고 가정하고 잠재적인 예외를 처리합니다(예: 함수가 None을 반환하는 경우 TypeError가 발생합니다. 이는 EAFP(허가보다 용서를 요청하기가 더 쉬움) 원칙을 따르며, 예외가 발생할 때 미리 확인하기보다는 예외를 포착하는 것을 선호합니다. 예외가 흔하지 않은 시나리오에서 더 효율적입니다.'if'의 이론적 근거
'if' 접근 방식은 시도하기 전에 값이 있는지 명시적으로 확인합니다. 처리하세요. 속도가 느려질 수 있지만 예외가 자주 발생할 것으로 예상되는 경우(즉, 이 경우 '결과'가 None이 될 가능성이 있는 경우) 권장됩니다.결론
예상되는 예외 빈도에 따라 선택이 달라집니다. 드물게 발생하는 예외의 경우 'try'/'제외'가 더 빠르며 EAFP 원칙을 따릅니다. 그렇지 않으면 불필요한 예외 처리를 피하기 위해 'if'가 더 신중합니다.추가 고려 사항
위 내용은 Python에서 잠재적인 없음 값을 처리하기 위해 언제 'try'와 'if'를 사용해야 합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!