📅  最后修改于: 2020-04-06 07:31:27             🧑  作者: Mango
*args
Python函数定义中的特殊语法* args用于将可变数量的参数传递给函数。它用于传递非关键字的可变长度参数列表。
# Python展示*args的可变参数用法
def myFun(*argv):
for arg in argv:
print (arg)
myFun('你好', '欢迎', '来到', '芒果文档')
输出:
你好
欢迎
来到
芒果文档
# Python展示*args,结合第一个额外参数
def myFun(arg1, *argv):
print ("第一个参数 :", arg1)
for arg in argv:
print("*argv下一个参数 :", arg)
myFun('你好', '欢迎', '来到', '芒果文档')
输出:
第一个参数 : 你好
*argv下一个参数 : 欢迎
*argv下一个参数 : 来到
*argv下一个参数 : 芒果文档
**kwargs
Python函数定义中的特殊语法**kwargs用于传递带有关键字的可变长度参数列表。我们将双星**命名为kwargs。原因是因为双星**允许我们传递关键字参数(以及它们中的任意的组合)。
# Python展示 *kargs
def myFun(**kwargs):
for key, value in kwargs.items():
print ("%s == %s" %(key, value))
# Driver code
myFun(first ='芒果', mid ='for', last='芒果')
输出:
last == 芒果
mid == for
first == 芒果
# Python展示**kargs,附加一个变量
def myFun(arg1, **kwargs):
for key, value in kwargs.items():
print ("%s == %s" %(key, value))
# Driver code
myFun("Hi", first ='芒果', mid ='for', last='芒果')
输出:
last == 芒果
mid == for
first == 芒果
def myFun(arg1, arg2, arg3):
print("arg1:", arg1)
print("arg2:", arg2)
print("arg3:", arg3)
# 使用*args或**kwargs来传递参数
args = ("芒果", "for", "芒果")
myFun(*args)
kwargs = {"arg1" : "芒果", "arg2" : "for", "arg3" : "芒果"}
myFun(**kwargs)
输出:
arg1: 芒果
arg2: for
arg3: 芒果
arg1: 芒果
arg2: for
arg3: 芒果