Python函数的参数左上角带星号“*”,“**”是什么含义?
- 当函数的参数个数不确定的时候,可以通过在参数名称的左上角添加“ * ”来将未来传递进来的任意数量的参数打包成一个元组(tuple)
def printAll(*args): # 所有未来传递进来的参数,将被打包进元组(tuple)args中
print("No of arguments:", len(args))
for argument in args:
print(argument)
#带有三个参数的printAll函数
printAll('Horsefeather','Adonis','Bone')
#带有四个参数的printAll函数
printAll('Sidecar','Long Island','Mudslide','Carriage')
输出:
- 当括号中有两个星号“**”时,代表将参数打包进一个字典dictionary中
def printDictionary(**args):
for key in args:
print(key + " : " + args[key])
printDictionary(Country='Canada',Province='Ontario',City='Toronto')
输出: