2017-11-30 7 views
1

예를 단순화 :"and"/ &&가있는 두 개의 분리 된 조건이 한 부분이 이미 거짓 일 때 중지합니까?

a = False 
b = True 

if a and b: 
    #do stuff 

파이썬은 단 하나의 조건이 전체 문장이 거짓이 될 때까지 거짓이 될 필요가 있기 때문에 이미 거짓으로 인식하는 경우 나 검사 생략합니까?

제 경우에는 배열을 3 가지 조건으로 검사하고 싶지만 그 중 하나 이상이 거짓이면 (더 나은 런타임을 위해) 중지하고 싶습니다. 내가

if a and b and c: 
    #do stuff 

을하거나 내가

if a: 
    if b: 
     if c: 
      return True 
     else: 
      return False 
    else: 
     return False 
else: 
    return False 

와 함께 먼 길을 가야하거나 같은 물건을 확인하는 또 다른 방법이 할 수 있습니까?

+0

이것은 조건에 맞는 진리표가 작동하는 것과 같습니다. – pissall

+0

예. 더 많은 예제보기 [here] (https://stackoverflow.com/a/36551857/4014959) –

+0

관련 메모에서'all'과'any' 함수는 또한 단락되었습니다. –

답변

1

예, 파이썬 단락.

증명 : 위에서 설명한 것을

>>> int('ValueError') 
Traceback (most recent call last): 
    File "<stdin>", line 1, in <module> 
ValueError: invalid literal for int() with base 10: 'ValueError' 
>>> 
>>> False and int('ValueError') 
False 
>>> True or int('ValueError') 
True 
1

예는, 그 일을합니까 단락 및 파이썬이라고합니다.

or 작동과 비슷합니다. aTrue 달리 b이 선택되어있는 경우

a or b 

짧은 a에서 단락된다.