> 文章列表 > python 不指定参数个数---args基础用法

python 不指定参数个数---args基础用法

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)