当函数的参数不确定时,可以使用*args 和**kwargs,*args 以元组方式存贮,**kwargs是字典格式。
*args
def ff(*args):
for value in args:
print "arg:", value
ff(1, "two", 3) # *args可以当作可容纳多个变量组成的元组
**kwargs
def ff(**kwargs):
for key in kwargs:
print "keyword arg: %s: %s" % (key, kwargs[key])
注意,此时args和kwargs在函数内部直接用的时候,分别是元组和字典,如果想把他们依然按照不定参数的方式传递给其他函数(比如对print函数做个包装,将包装函数中传给print函数的参数传给print函数,见示例),那就继续使用*args和**kwargs。
def ff(*args, **kwargs):
print(args[0])
for k,v in kwargs.items():
print(k, v)
print(*args)
转载于:https://www.cnblogs.com/immortalBlog/p/11435108.html
相关资源:JAVA上百实例源码以及开源项目