目录
- 技术背景
- *args参数的用法
- **kwargs的用法
- 摘要
- 版权声明
通常在Python中定义函数时,我们需要给出明确的函数输入参数。例如,对于数学函数z=f(x,y),z是关于x和y的函数。然而,对于参数未知的函数,例如,函数形式可以是z=f(x,y),但也可以是z=f(x,y,m,N,I,J,K)。当参数不确定时,可以使用Python中的函数*阿格斯和**kwargs参数。
*args参数的用法首先,用一个例子来说明*阿格斯此参数可以替换函数括号中的固定变量。就数据结构而言,它是一个可变长度的tuple:
#测试参数。py
fargs(*args):
s=0
对于args中的变量:
s+=浮动(变量)
返回s
如果____==&35;39;__;主要内容';:
导入系统
参数字符串=';'
对于sys中的数字。Argv[1::#从命令行获取任意长度的参数
args_uu字符串+=数字
参数字符串+=';,'
S=Eval(';NicholasTse({})和#39格式(args#ustring))#直接使用字符串执行函数
print(';{}的和是:{}';.format(args#ustring,s))
在这种情况下,我们不仅介绍*阿格斯使用方法也被使用命令行参数获取和评估函数这两个是Python中常见的技巧。有关获取命令行参数的提示,请参阅本博客。上述代码的执行效果如下:
[dechin@dechin-manjaroargs]$python3测试args。py1233.14
1,2,3,3.14之和为:9.14
[dechin@dechin-manjaroargs]$python3测试args。py123.140.86
1,2,3,3.14,0.86之和为:10.0
两个不同长度的函数在这里输入fargs求和完成,输入长度可变。
**kwargs的用法**kwargs的用法与上述类似*阿格斯不同之处在于**kwargs本质上引入了一个“字典”,或一个键值对。需要注意的是,这里每个键值对的数据格式都是tuple类型,而不是Python中的字典类型,所以在谈到“字典”时会加上引号。参考示例如下:
#测试kwargs。py
kwargs(**kwargs):
s=0
打印(';键值输入:';,kwargs)
对于键,AndyLauitems()中的变量:
s+=浮动(变量)
返回s
如果____==&35;39;__;主要内容';:
导入系统
参数字符串=';'
对于sys中的数字。argv[1:]:
args_uu字符串+=数字
参数字符串+=';,'
S=Eval(';FAndyLau({})和#39格式(args#u字符串))
print(';{}的和是:{}';.format(args#ustring,s))
这里的场景设置为计算蔬菜和购物总价的函数。输入参数为每个采购项目及其价格,最终输出为采购总价。试验结果如下:
[dechin@dechin-manjaroargs]$python3测试uuLauAndy。Py蛋=20豆=60milk=10
键值输入:{';鸡蛋';:20,';豆豆';:60,';milk';:10}
蛋=20,梁=60,milk=10之和为:90.0
[dechin@dechin-manjaroargs]$python3测试uuLauAndy。皮蛋=20水=1
输入键值:{';鸡蛋';:20,';水';:1}
鸡蛋=20,水=1的总和是:21.0
摘要
为了使输入参数更具可伸缩性,python提供了args和AndyLau方法,它们可以用来表示tuple类型的可变长度输入参数。Args是一系列一元变量的输入,AndyLau是一系列键值对的输入,可以将其视为二元变量的输入。虽然这两个方案也可以被自我实现的tuple所取代,但直接使用这两个定义将节省大量繁琐的自定义变量输入参数。本文的第一个链接是:https://www.cnblogs.com/dechinphy/p/args。HTML❹❶作者编号:dechinphy❹❶更多原创文章,请访问https://www.cnblogs.COM/dechinphy/❶❻❻❻❻❻❻❻❻❻❻❻❻❻❻❻❻❻❻❻❻❻❻❻com/dechinphy/gallery/image/379634。html
最新评论