如何在函数中返回可选参数

问题描述 投票:0回答:4

我希望有一个函数返回我给它的参数的多个结果函数。

我已经尝试过谷歌搜索等,但没有任何运气

例如:

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

python function return
4个回答
3
投票

return
语句上使用简单条件:

def function(x, i_add = False):
    return (x, x+1) if i_add else x

1
投票

您可以返回任意数量的值,如果您返回多个值,它将是

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

1
投票

您可以使用元组来做到这一点:

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/


0
投票

使用元组串联的 DRY(不要重复)版本

def function(x, i_add=False):
    return (x,) + ((x+1,) if i_add else ())

如果您有许多默认返回参数(例如

u,v,w,x,y,[z]
),这很有用。
它总是返回一个元组。

© www.soinside.com 2019 - 2024. All rights reserved.