如何在一个函数上创建hidereturn值,使它们只在被调用时返回?

2024-04-24 12:04:00 发布

您现在位置:Python中文网/ 问答频道 /正文

假设我有一个输出为a,b的函数。在

我希望使用相同的函数,该函数要么返回a要么返回{},这取决于我是否具体地调用了b(对于后面的情况)。在

有没有办法用Python编写这种函数?在


Tags: 函数情况办法
2条回答

当然可以。这是一个不好的主意,但是当设置了标志时,没有什么可以阻止您返回元组:

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

    return a

最好不要这样做;您正在更改此处返回的对象类型。如果您改为添加一个新的函数会更好:

^{pr2}$

或者只考虑返回的额外返回项并忽略它,例如foo_without_b()正在做什么。在

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

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

相关问题 更多 >