我一直在研究一个问题,而且我不确定通常被认为是最佳做法的风格/功能。
我有一个函数可以对同一个字符串进行多次检查,并根据该字符串返回一个值。使用堆叠的if语句或if-elif-else语句是更好的样式还是函数?
示例:
def f(s):
if s == 'Hey':
return 'Sup.'
if s == "How's it going?"
return 'Not bad.'
return 'I have no idea what you said.'
或
def f(s):
if s == 'Hey':
return 'Sup.'
elif s == "How's it going?"
return 'Not bad.'
else
return 'I have no idea what you said.'
答案 0 :(得分:4)
在这种情况下,它是一种风格选择,我会使用第二种结构。这是因为如果你在每个块中没有return语句,它最接近地表示我将视为更好的样式。这里的前提是你只需要满足一个条件,并且只需要执行一个块。因此,请使用明确的第二种结构。第一个结构(没有返回语句)留下了可以满足多个条件的可能性。
答案 1 :(得分:2)
对于你的情况,这无关紧要,因为函数无论如何都会在真正的条件之后返回,对于非返回条件,总是建议写else..if结构,因为程序不需要那样评估不必要的条件。 / p>