在Python中,if块中的return后应该使用else吗?

26 投票
8 回答
8277 浏览
提问于 2025-04-16 12:01

首先,我在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

8 个回答

8

第二个!少即是多,而多则更好。

13

第一个!

明确的比隐含的要好。

13

这要看情况。如果你返回的是鹦鹉,而不是鸡蛋,那么第一个选择会更清楚一些。
但如果你是想捕捉一个错误或者类似的东西,第二个选择会更好。

撰写回答