Эти два шаблона дают одинаковые результаты. Имеет ли значение, какой из них используется? Зачем?Имеет ли значение использовать `if ... else` или` if ... return; {implicit else} `?
Я предпочитаю второй, он имеет меньше углублений и только выглядит более чистым для меня, но я не видел, чтобы он использовался много (в тех местах, где я был). Я не хочу ни на что рассчитывать и использовать его повсюду, если по какой-то причине ему нездоровится.
IF ... ELSE
if not packages:
help('download')
else:
for p in packages:
do_download(p)
verify_md5(p)
etc(p)
IF ... RETURN; НЕЯВНЫЕ ELSE
if not packages:
help('download')
return
for p in packages:
do_download(p)
verify_md5(p)
etc(p)
Это не имеет большого значения, так или иначе. Тебе решать. –
есть некоторые исторические аргументы в пользу единственного утверждения возврата из любой функции (это может облегчить обслуживание длинных методов), но я думаю, что в наши дни это в значительной степени считается предпочтительным. –
Есть инструменты для измерения охвата кода программ Python, которые работают путем применения кода Python. Чтобы измерить то, что обычно называют «охватом филиалов», им придется подсчитывать, как часто выполнялся условный блок * не * (так часто попадала ветвь 'else'). Наличие явной ветви 'else:' значительно упрощает использование исходного кода для этой цели. –