说我有一个函数,其输出为 a,b
。
我想具有与返回a
或a,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