2014-11-03 2 views

ответ

2

В python это называется short-circuiting. Логические выражения оцениваются слева направо (с учетом скобок), и выполнение останавливается, как только становится ясно, что будет логическим ответом.

Попробуйте этот код в интерактивной консоли:

>>> def one(): 
...  print "one called" 
...  return True 

>>> def two(): 
...  print "two called" 
...  return True 

>>> one() or two() 

Ответом будет:

one called 
True 

То же самое происходит и с and (если первый аргумент является ложным, второй аргумент никогда оценивали).

2

Это называется short-circuiting, и Python действительно поддерживает его. Вы можете прочитать объяснение в the docs.

Смежные вопросы