全球最实用的IT互联网信息网站!

AI人工智能P2P分享&下载搜索网页发布信息网站地图

当前位置:诺佳网 > 电子/半导体 > 模拟技术 >

科普一下Python中星号的用法

时间:2022-10-12 10:58

人气:

作者:admin

标签: 中星  一下  python  科普  号的 

导读:调用add方法时,直接传入一个tpl元组,则*num会把整个元组值作为一个参数值传入,就会变成((10,20),),那么对于add方法中的循环则无法计算结果。...

01

用做不定长参数名

可以接收多个参数值

案例1:比如我定义一个求和的函数,无论传入几个值,都可以计算出求和的结果

代码1.1:

pYYBAGNGLJGAQcVJAAA3nGvBIPM918.png

问题:以上代码实现传入2个参数值的和,但是如何我要求的是大于2个参数值的和,如:10+20+30=或者 1+2+3+4+5+..=这种情况下我们必须要重写add方法,往里面去加参数名,但是这种情况下,扩展性太差,脚本的维护性也不好。

因此我们的不定长参数的出现,就可以在不重写add方法的前提下,也能满足求多个参数值的和。

代码1.2:

pYYBAGNGLKWAOJaAAAB8TAJv-1g326.png

总结:*num(不定长参数),可以接收0个或者N个值,接收的值会存储在一个元组中;调用函数的时候,要使用位置传值,也就是直接写值就可以。

02

用做解包,将可迭代对象中的元素解包

案例2:比如我定义一个函数,无论传入几个值,都可以计算出从传入值的和与乘积的结果,并获取和与积的结果

代码2.1:

pYYBAGNGLLeAGrIuAAEoEVVXLHs450.png

总结:除了列表对象可以解包之外,任何可迭代对象都支持解包;可迭代对象包括元组、字典、集合、字符串、生成器实现了__next__方法的一切对象。但是字典解包后,只会把字典的 key 取出来,value 则丢掉了。

代码2.2:

poYBAGNGLMiAJ4bYAAAtXESeD08837.png

解包也可以用在参数值的传递中

代码2.3:

pYYBAGNGLNqAaPswAACkPvc0Ddo455.png

总结:调用add方法时,直接传入一个tpl元组,则*num会把整个元组值作为一个参数值传入,就会变成((10,20),),那么对于add方法中的循环则无法计算结果。所以我们在调用函数时,将*tpl传入,会现将这个元组整体解包为2个元素值传入,用*num接收后就变成了(10,20)。这个时候对于add中的循环就可以去进行计算了。

03

常运用场景

结合DDT用作测试用例的多次执行

案例3:执行百度搜索,第一次搜索柠檬班,第二次搜索软件测试

代码3.1:

pYYBAGNGLRSAQoSXAAFL4hiFAoo520.pngpYYBAGNGLRqACsjYAAA7qeLORUg358.png




审核编辑:刘清

温馨提示:以上内容整理于网络,仅供参考,如果对您有帮助,留下您的阅读感言吧!
相关阅读
本类排行
相关标签
本类推荐

CPU | 内存 | 硬盘 | 显卡 | 显示器 | 主板 | 电源 | 键鼠 | 网站地图

Copyright © 2025-2035 诺佳网 版权所有 备案号:赣ICP备2025066733号
本站资料均来源互联网收集整理,作品版权归作者所有,如果侵犯了您的版权,请跟我们联系。

关注微信