这里的arg,kwarg只是习惯使用的形参名,可以使用其他合理形参替换
函数/方法中的*arg
作用:
1、用于不能确定参数个数的函数定义
2、多个元素作为参数传入调用函数中
1、定义时使用*arg
def test_arg(f_arg,*arg):
print(f_arg)
print(arg) #输出所有参数
for x in arg: #使用迭代循环输出每一个参数
print('参数是:',x)
test_arg('mar',32,55)#调用函数
'''输出
mar
(32, 55)
参数是: 32
参数是: 55
'''
2、调用函数时使用*arg
相当于将元组中的参数内容传入函数中,和c中指针访问指针指向的内容很相似
def test_arg(arg1,arg2,arg3):#定义一个多参数的函数方法
print('arg1',arg1)
print('arg2',arg2)
print('arg3',arg3)
#定义变量
arg1='non'
arg=('mar',12) #定义一个元组变量
test_arg(arg1,*arg) # 调用函数
函数/方法中的**kwarg
作用:
1、用于不能确定字典参数个数的函数定义
2、字典元素作为参数传入调用函数中
1、定义时使用
注意传入的参数是以赋值的形式给如
def test_arg(**kwarg): #定义一个多参数的函数方法
for key,value in kwarg.items(): #遍历传入的字典
print('另外的一些参数:{0}==>{1}'.format(key,value))
test_arg(mar='name',man="sex") # 调用函数
'''结果
另外的一些参数:mar==>name
另外的一些参数:man==>sex
> 这里是引用
'''
2、在调用函数时使用
注意变量是字典类型,且字典名称必须与要调用的函数中的参数名称一样
def test_arg(arg1,arg2,arg3):#定义一个多参数的函数方法
print('arg1:',arg1)
print('arg2:',arg2)
print('arg3:',arg3)
arg={'arg1':'name','arg2':"sex",'arg3':52} # 调用函数
test_arg(**arg)