Форум сайта python.su
0
Добрый день! У меня в коде встречаются вот такие куски:
if a:
return "Hello!"
return "Bye!"
if a:
return "Hello!"
else:
return "Bye!"
Офлайн
2
return "Hello!" if a else "Bye!"
Офлайн
0
Так не пойдёт, потому что перед return у меня есть ещё одна строка:
if a:
print "ololo"
return "Hello!"
print "lolol"
return "Bye!"
Офлайн
0
Имхо лучше как-то так:
if a:
msg = 'ololo'
res = 'Hello!'
else:
msg = 'lolol'
res = 'Bye!'
print msg
return res
Офлайн
20
Carzil, я придерживаюсь самого первого варианта. При условии что разрыв между возвратами не велик (2-3 строки) или же первый находится в самом начале подпрограммы, а второй в самом её конце.
..bw
Офлайн
0
Можно еще сократить:
msg, res = ('ololo', 'Hello') if a else ('lolol', 'Bye!')
print msg
return resОфлайн