특정 조건을 확인하기 위해 4 개의 다른 방법을 순서대로 호출하고 Truthy를 반환 할 때마다 즉시 (다음 중 하나를 확인하지 않음) 반환하는 방법이 있습니다.
def check_all_conditions():
x = check_size()
if x:
return x
x = check_color()
if x:
return x
x = check_tone()
if x:
return x
x = check_flavor()
if x:
return x
return None
이것은 많은 수하물 코드처럼 보입니다. 각 2 줄 if 문 대신 다음과 같이하십시오.
x and return x
그러나 그것은 잘못된 파이썬입니다. 여기에 간단하고 우아한 솔루션이 누락 되었습니까? 또한이 상황에서 4 가지 검사 방법이 비쌀 수 있으므로 여러 번 호출하고 싶지 않습니다.
x and return x
보다 낫다고 생각 if x: return x
합니까? 후자는 훨씬 더 읽기 쉽고 유지 관리가 가능합니다. 문자 나 줄 수에 대해 너무 걱정하지 않아도됩니다. 가독성이 중요합니다. 어쨌든 정확히 같은 수의 비 공백 문자이며 실제로 필요한 경우 if x: return x
한 줄만으로도 잘 작동합니다.
x
(와 반대로 bool(x)
) 반환 하므로 OP의 함수가 무엇이든 반환 할 수 있다고 가정하는 것이 안전하다고 생각합니다.