你可能已经知道了Python允许你定义可选参数。但还有一个方法,可以定义函数任意数量的参数。
首先,看下面是一个只定义可选参数的例子
复制代码
def function(arg1="",arg2=""):
print "arg1: {0}".format(arg1)
print "arg2: {0}".format(arg2)
function(“Hello”, “World”)
prints args1: Hello
prints args2: World
function()
prints args1:
prints args2:
复制代码
现在,让我们看看怎么定义一个可以接受任意参数的函数。我们利用元组来实现。
复制代码
def foo(args): # just use "" to collect all remaining arguments into a tuple
numargs = len(args)
print "Number of arguments: {0}".format(numargs)
for i, x in enumerate(args):
print "Argument {0} is: {1}".format(i,x)
foo()
Number of arguments: 0
foo(“hello”)
Number of arguments: 1
Argument 0 is: hello
foo(“hello”,“World”,“Again”)