Найти - Пользователи
Полная версия: Как правильно писать if?
Начало » Python для новичков » Как правильно писать if?
1
Carzil
Добрый день! У меня в коде встречаются вот такие куски:
if a:
return "Hello!"
return "Bye!"
Собственно, сабж: как грамотней/понятней писать? Так, как у меня или так:
if a:
return "Hello!"
else:
return "Bye!"
Александр Кошелев
return "Hello!" if a else "Bye!"
Carzil
Так не пойдёт, потому что перед return у меня есть ещё одна строка:
if a:
print "ololo"
return "Hello!"
print "lolol"
return "Bye!"
pill
Имхо лучше как-то так:
if a:
msg = 'ololo'
res = 'Hello!'
else:
msg = 'lolol'
res = 'Bye!'

print msg
return res
Не будет проблем когда нужно будет еще какие-то варианты добавить.
bw
Carzil, я придерживаюсь самого первого варианта. При условии что разрыв между возвратами не велик (2-3 строки) или же первый находится в самом начале подпрограммы, а второй в самом её конце.

..bw
kachayev
Можно еще сократить:

msg, res = ('ololo', 'Hello') if a else ('lolol', 'Bye!')
print msg
return res
Imho, такой вариант удачнее, так как в коде приведенном Carzil в if и else блоках выполняется по сути одна и та же логика (только с разными деталями), но визуально нужно сделать усилие, что это осознать.
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB