在有些时候,设计函数的时候,可能不知道要传入的参数类型或者参数个数,此时args可以很好地解决。
1。传入不指定个数的参数,
2。参数的类型也不指定,可以是任意类型数据,或者函数,【函数的话不要加括号】
3。传入的参数可以看作是args的元组(tuple)or
列表,按照列表的顺序将对应的参数取出来
def add_1(a):
return a + 1
def fct_args(name='wyc',*args):
print(name)
print(args[0])
add_1_ = args[1]
print(add_1_(2))
if __name__ == '__main__':
fct_args('name',1,add_1)
输出如下
1。传入不指定个数的参数,
2。参数的类型以字典的形式,字典需要有键值,对应的value可以是任意类型数据,或者函数,【函数的话不要加括号】
3。传入的参数可以看作是args的字典,按照字典的键将对应的参数取出来
def add_1(a):
return a + 1
def fct_args_k(**kargs):
print(kargs['name'])
print(kargs['num'])
add_1_ = kargs['add_1_']
print(add_1_(2))
if __name__ == '__main__':
fct_args_k(name='name',num=1,add_1_=add_1)
def add_1(a):
return a + 1
def fct_args(name='wyc',*args):
print(name)
print(args[0])
add_1_ = args[1]
print(add_1_(2))
def fct_args_k(**kargs):
print(kargs['name'])
print(kargs['num'])
add_1_ = kargs['add_1_']
print(add_1_(2))
if __name__ == '__main__':
print('*args 实现结果')
fct_args('name',1,add_1)
print('\n**kargs 实现结果')
fct_args_k(name='name',num=1,add_1_=add_1)