вкурить как оно так лихо получается, что возвращается только str? Накидал топорно функцию, вполне понятно, работает так же.
раздел Single Expression
в доке The return statement такого не нашёл
подскажите пожалуйста где в документации/руководстве глянуть что это за выкрутасы такие ?
(lambda x: (x % 2 and 'odd' or 'even'))(3)
> 'odd'
def t(x):
if x % 2 and 'odd':
return 'odd'
else:
return 'even'
t(5)
> 'odd'
Спасибо за отклик Мне не понятно куда девается true, когда 3%2 == 1 ? Я думал должны возвращаться оба значения, но хз в каком типе данных
такой питон) >>> 1 and 'odd' 'odd' >>> True and 'odd' 'odd'
Ага, имею опыт уже отлова глюков из-за True == 1 ))
Обсуждают сегодня