function(*arg):
在python函数的定义时,可能会根据情况的不同出现传入参数个数不固定的情况,以
∗
*
∗加上形参名的方式表示函数的参数个数不固定,可以是0个,也可以是多个。传入的参数在函数内部被存放在以形参名为标识符的tuple中。
例子:
def loss(self,*targets):
target,history=targets[0],targets[1]
def function1(*x):
if len(x)==0:
print("None")
else:
print(x)
第二个例子运行结果:
function1()
输出:None
function1(1,2,3)
输出:1,2,3
function(**arg):
形参前加两个*,在函数调用时,参数将被存储在字典中,在函数调用时,传参数需要使用arg1=value1,arg2=value2…的形式
例子:
def function1(*x):
if len(x)==0:
print("None")
else:
print(x)
运行结果:
function1()
输出:None
function1(x=1,y=2,z=3)
输出:{‘x’:1,‘y’:2,‘z’:3}