python 不指定参数个数---args基础用法
前言:
在有些时候,设计函数的时候,可能不知道要传入的参数类型或者参数个数,此时args可以很好地解决。
一、*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)
输出如下
二、 agrs的基本用法
1。传入不指定个数的参数,
2。参数的类型以字典的形式,字典需要有键值,对应的value可以是任意类型数据,或者函数,【函数的话不要加括号】
3。传入的参数可以看作是args的字典,按照字典的键将对应的参数取出来
def add_1(a):return a + 1def 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 + 1def 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('\\nkargs 实现结果')fct_args_k(name='name',num=1,add_1_=add_1)