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)

输出如下

python 不指定参数个数---args基础用法_第1张图片

 

二、  **agrs的基本用法

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)

python 不指定参数个数---args基础用法_第2张图片

汇总:


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)

 

你可能感兴趣的:(开发语言,python)