如何在函数上创建隐藏返回值,因此只有在调用时才会返回它们



说我有一个函数,其输出为 a,b

我想具有与返回aa,b相同的功能,具体取决于我是否专门致电b(对于以后的情况)。

有什么方法可以在Python中写下这种功能?

确保可以。这是一个坏主意,但是当设置标志时,没有什么可以阻止您返回元组:

def foo(add_b=False):
    if add_b:
        return a, b
    return a

最好不要这样做;您正在更改此处返回的对象的类型。如果您添加了 new 函数,那就更好了:

def foo_with_b():
    return a, b
def foo_without_b():
    return foo_with_b()[0]

或仅说明返回的额外返回项目,然后忽略它,这就是foo_without_b()正在做的。

这很容易做到,但可能是一个坏主意。

def myfn(x, y, b_also=False):
    a = x + y
    b = x - y
    return (a,b) if b_also else a

最新更新