Ответ 1
Это зависит, если вы вернете попугаев, когда вы не вернете яйца, то первый будет более ясным. Но если вы пытаетесь поймать ошибку или что-то в этом роде, вторая лучше.
Во-первых, я не смог найти ответ на этот вопрос в PEP 8. Это не значит, что там нет. Не стесняйтесь указать мне на это.
Какой стиль вы предпочитаете?
Первый:
if spam:
# Do stuff.
return eggs
else:
# Maybe do other stuff.
return parrots
или второй:
if spam:
# Do stuff.
return eggs
# Maybe do other stuff.
return parrots
Это зависит, если вы вернете попугаев, когда вы не вернете яйца, то первый будет более ясным. Но если вы пытаетесь поймать ошибку или что-то в этом роде, вторая лучше.
Первый!
Явный лучше, чем неявный.
Второй! Меньше - больше, и лучше.
Второй. То же самое относится не только к return
, но также к операторам break
и continue
. else
и последующий отступ раздражают глаз и теряют пространство.
Это не имеет большого значения. Если вам действительно нужны причины для выбора одного, используйте тот, который лучше всего объясняет причины кода. Первый, если оба случая как-то похожи или одинаково важны. Второй, если вы обычно возвращаете попугаев, но яйца - особый случай.
Ни!
if spam:
# Do Stuff
result= eggs
else:
# Maybe do other stuff
result= parrots
return result
Я думаю, что это зависит от части "делать вещи". Оба приемлемы.
Я не знаю python, но я делаю:
return spam if eggs else parrots
Изменить. Я не заметил часть Do Do. В этом случае я бы создал другой метод или функцию (независимо от того, что она вызывается в python) для каждой ветки.