形式参数可以理解为:
在函数定义时候,利用一个临时的变量来代替未来如要传入的变量,演绎函数内部计算过程的。
def sum(a,b):
return a+b
由于这部分比较简单,我们不过多赘述,我们主要讲一讲可变数量参数,以及关键字参数。在python中,可变数量参数表现为*args,关键字参数表现为**kwargs。那他们有什么作用呢?
1.*
args作用:表示这个参数会收集传递给函数的所有额外位置参数,并将它们放入一个元组中。
def my_function(*args):
for arg in args:
print(arg)
my_function(1, 2, 3) # 输出:1, 2, 3
2.*kwargs作用:表示这个参数会收集传递给函数的所有额外关键字参数,并将它们放入一个字典中。
def my_function(**kwargs):
for key, value in kwargs.items():
print(f"{key} = {value}")
my_function(a=1, b=2, c=3) # 输出:a = 1, b = 2, c = 3
也就是可以理解为在函数内部建立一个元组或者字典,这个元组或字典的元素来源于函数传入的参数,这里如果出现*
args,*kwargs同时出现时,*
args必须放在*kwargs,否则会报错。
当然,也这两个参数是非必要参数,即可以为空当我们为空时,args为( ),kwargs为[ ]。