龙空技术网

#Python在学习19# 可变长度参数列表*args和*kwargs

梁陆薇 115

前言:

当前各位老铁们对“c语言的可变参数”大概比较重视,你们都想要知道一些“c语言的可变参数”的相关内容。那么小编也在网上汇集了一些有关“c语言的可变参数””的相关知识,希望我们能喜欢,各位老铁们快快来了解一下吧!

#头条创作挑战赛#

Python的优势就是可以处理可变长度参数的列表,通过自定义的函数来处理任意数量的变量。

一、*args列表参数

*args语法可以访问任意长度的参数列表。

举例1如下:

def my_var_func(*args):    print('the number of args is, ', len(args))    for items in args:        print(items)my_var_func(10,20,30,40)

运行结果为:

the number of args is, 4

10

20

30

40

举例2如下:

def avg(*args):    return sum(args)/len(args)print(avg(11,22,33))print(avg(1,2))

运行结果为

22.0

1.5

举例3如下:

def avg(units,*args):    print(sum(args)/len(args),units)avg('inches',11,22,33)

运行结果为:

22.0 inches

运行三段代码之后,对于*args可以有个简单的了解

1、*args中的参数可以有任意多个,在定义函数之后,可以根据我们的需求,根据输入的参数数量直接计算;

2、在*args前面可以添加其他参数,这个参数可能是我们要输出的计量单位(举例3),最终生成一个有量纲的结果

二、*kwargs列表参数

对于*args列表参数,处理的对象为列表,当处理的对象需要赋予名称的时候,就需要用到*kwargs列表参数。看起来很晦涩,实践代码如下:

def pr_name_vals(**kwargs):    print(kwargs)pr_name_vals(a=10,b=20,c=30)

运行之后,生成字典如下:

{'a': 10, 'b': 20, 'c': 30}

#加油!

#一点一滴的努力,未来都会有回报。

#岁月静好,不去羡慕旁人,只做好自己,花朵总会绽放。

#以上学习感悟来自于《高阶Python代码精进之路》([美]Brain Overland, John Bennett著,李辉,韩慧昌译,中国工信出版集团电子工业出版社2022年4月出版)

标签: #c语言的可变参数