python中的多个返回vs返回变量

Jar*_*mov 3 python

我是一个使用python的初学程序员,我想知道函数返回的最佳实践是什么.我有很多条件,但只要其中一个是真的,我想杀死该函数并返回一个bool值.说,我们有:

a)
def foo():
    if condition1:
        return True
    if condition2:
        return True
    if condition3:
        return True
    return False

b)
def foo():
    bar = False
    if condition1:
        bar = True
    elif condition2:
        bar = True
    elif condition3:
        bar = True
    return bar
Run Code Online (Sandbox Code Playgroud)

有一种方式比另一种更好吗?为什么?或者这是一些完全垃圾,应该以完全不同的方式实现?在其他语言中它是否与python不同(或者,是否有"pythonic"方式)?提前感谢大家的答案.BTW,是否有最佳实践的标签,或类似的东西?

Fra*_*uzo 5

在我看来,第一个版本更像是Pythonic,它可以像这样编写而不是:

return condition1 or condition2 or condition3
Run Code Online (Sandbox Code Playgroud)

  • 如果任何条件都不是`bool`的话,你最好不要输出结果:`return bool(condition1或condition2或condition3)`. (2认同)
  • @MarkRansom`返回任何((condition1,condition2,condition3))` (2认同)