关于python:根据函数中的参数数目返回不同的值

Return different value depending on number of arguments in a function

本问题已经有最佳答案,请猛点这里访问。

我试着做一个从1到5个参数的函数,并根据给定的数字进行不同的计算。我的想法是这样的:

1
2
3
4
def function(*args)
    num_of_args = (!!here is the problem!!)
if(num_of_args == 1) : result = a
else if(number_of_args == 2) : result = a+b

等等我试图计算参数个数并将该数赋给变量,但找不到方法我想可能不需要使用5个if,但我真的不想在计算这些参数之前集中精力。


您可以使用len(args)

1
2
3
4
5
6
7
def function(*args):
    if len(args) == 0:
        print("Number of args = 0")
    elif len(args) == 1:
        print("Number of args = 1")
    else:
        print("Number of args >= 2")


使用*args时,位置参数作为列表发送。您可以使用args[0],args[1]访问它们…长度也按长度(args)

1
2
def foo(*args):
  print(len(args))