我希望有一个函数返回我给它的参数的多个结果函数。
我已经尝试过谷歌搜索等,但没有任何运气
例如:
def function(x, i_add = False):
if i_add == True:
y = x+1
return x, (Y)?
给出的例子我想要的结果是:
function(3) -> 3
function(3, True) -> 3, 4
function(3, False) -> 3
我使用的是python 2.7
在
return
语句上使用简单条件:
def function(x, i_add = False):
return (x, x+1) if i_add else x
您可以返回任意数量的值,如果您返回多个值,它将是
tuple
,如果您返回一个值,它将只是一个值
def function(x, i_add = False):
if i_add == True:
return x,x+1
else:
return x
re=function(10,True) # or a,b=function(10,True)
print(type(re)) #tuple (10,11)
r=function(10,False)
print(type(r)) # int 10
您可以使用元组来做到这一点:
def function(x,i_add = False):
if i_add:
y = x+1
return x, y;
else:
return x
var1, var2 = function(3, True)
print(var1)
print(var2)
您可以在 geeksforgeeks 上找到更多信息:https://www.geeksforgeeks.org/g-fact-41-multiple-return-values-in-python/
使用元组串联的 DRY(不要重复)版本
def function(x, i_add=False):
return (x,) + ((x+1,) if i_add else ())
如果您有许多默认返回参数(例如
u,v,w,x,y,[z]
),这很有用。