Форум сайта python.su
33
Всем привет
Рылся в коде и нашёл такую удобную инструкцию
#в result результат re.match return result and result.group(1)
Отредактировано Budulianin (Авг. 30, 2013 00:49:07)
Офлайн
6
Во, надо будет расписать и в подпись положить. Про and, про or и про '' if. Хотя в задачках есть. 
Офлайн
568
Budulianin
Если оба значения True, то возвращается значение правого операнда, если одно даёт False, то возвращается оно, если оба False
Офлайн
568
def a(): print "a" return 0 def b(): print "b" return 2 def c(): print "c" return 3 print a() and b() and c() print b() and a() and c()
Офлайн
43
Офлайн
33
FishHook
Неа,
Budulianin
Если оба значения True, то возвращается значение правого операнда, если одно даёт False, то возвращается оно, если оба False, то возвращается значение левого операнда.
wbtТам мало примеров
http://py.hc25.ru
Отредактировано Budulianin (Авг. 30, 2013 10:32:27)
Офлайн
6
Будет больше, жизнь-то идёт. 
Офлайн
568
wbt
Что неа? всё что я описал, так и есть
Budulianin
Если оба значения True, то возвращается значение правого операнда, если одно даёт False, то возвращается оно, если оба False, то возвращается значение левого операнда.
Офлайн
33
FishHook
Теперь перечитайте, что я написал выше.
Budulianin
Только когда оба False, тут уточнение, что только один операнд вычисляется.
Отредактировано Budulianin (Авг. 30, 2013 10:37:50)
Офлайн
6
чё вы спорите. выполнение идёт до ПЕРВОГО True в случае or или до первого False в случае and, слева направо.
я пример не выложил, потому что не хочу делать мелкие обновления, но вот он:
a = 0 or 5 # 5 a = 1 or 5 # 1 a = 1 or 5 or 0 # 1 a = 0 and 5 # 0 a = 1 and 5 # 5 # def r(x): print (x), bool(x) return x # r(1) and r(2) and r(3) # 1 True, 2 True, 3 True r(0) and r(1) and r(2) and r(3) # 0 False # r(1) or r(2) or r(3) # 1 True r(0) or r(1) or r(2) or r(3) # 0 False, 1 True # x = 0 or 0/0 # ZeroDivisionError x = 1 or 0/0 # 1 x = 0 and 0/0 # 0
a = 0 or {} or False # False a = False or 0 or {} # {}
Отредактировано wbt (Авг. 30, 2013 11:46:02)
Офлайн