0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

科普一下Python中星号的用法

冬至子 来源:柠檬班软件测试 作者:可米 2022-10-12 10:58 次阅读

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




审核编辑:刘清

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 生成器
    +关注

    关注

    7

    文章

    306

    浏览量

    20623
  • python
    +关注

    关注

    53

    文章

    4710

    浏览量

    83712
收藏 人收藏

    评论

    相关推荐

    科普一下CAN总线的基础知识

    CAN总线是种常用的总线,对于刚开始接触CAN总线的,面对着各式各样的资料,可能不知道从何看起,今天科普一下CAN总线的基础知识。CAN2.0协议分为A版本和B版本,A版本协议为11位标识符(标准帧),B版本在兼容11位ID标
    发表于 05-16 09:49 2865次阅读
    <b class='flag-5'>科普</b><b class='flag-5'>一下</b>CAN总线的基础知识

    求通信方面的大神 科普一下射频测试

    求通信方面的大神 科普一下射频测试如图所示,求前辈说一下三幅图是怎么看的,不是很理解
    发表于 03-27 00:53

    Python小时入门

    这种快速入门的资料还蛮多的。Python脚本直解有编程基础的人一下子就了解 Python用法了。真正的 30 分钟上手。
    发表于 11-06 10:47

    介绍一下关键字extern的用法

    学单片机C语言定要熟悉关键字的用法,本文介绍一下关键字extern的用法。1、extern的定义是:extern可以置于变量或者函数前,以标示变量或者函数的定义在别的文件
    发表于 07-15 06:38

    科普一下ZYNQ是什么

    关注、星标公众号,直达精彩内容来源:ZYNQ作者:watchman最近公司开始做个项目,再次使用到ZYNQ,今天给大家科普一下ZYNQ是什么,以及ZYNQ在嵌入式系统
    发表于 11-05 08:53

    小编科普一下RK3399/libdrm/modetest

    小编科普一下RK3399/libdrm/modetest
    发表于 03-07 07:06

    简要介绍一下Python-UNO的使用方法

    OpenOffice是个免费的、开源的办公套装,集成了允许开发者用不同语言进行开发的API。Python-UNO让你可以在Python环境使用OpenOffice。本文简要介绍了
    的头像 发表于 01-04 14:54 7986次阅读
    简要介绍<b class='flag-5'>一下</b><b class='flag-5'>Python</b>-UNO的使用方法

    张图学会Python3的基本用法

    这不Github上位大神就把 Python 3 的几乎所有语法重点都整理到了张图上,对于有编程基础的小伙伴,通过这张图掌握Python的基本用法
    的头像 发表于 02-09 09:22 7982次阅读
    <b class='flag-5'>一</b>张图学会<b class='flag-5'>Python</b>3的基本<b class='flag-5'>用法</b>

    科普一下MTU是什么,如何设置MTU

    欢迎来到东用知识小课堂,下面我们就来科普一下一下MTU是什么,如何设置MTUMTU是最大传输单元的意思,代指类通讯协议某层上所能通过的最大数据包大小(以byte为单位)。最大传输单
    的头像 发表于 10-29 06:00 3834次阅读
    <b class='flag-5'>科普</b><b class='flag-5'>一下</b>MTU是什么,如何设置MTU

    简单科普一下GPS和GNSS和区别

    欢迎来到东用知识小课堂!GPS已经普及了很多年了,不过还是有些同学会问东东它和GNSS有什么区别?今天,我们就以东用的OGC300系列工业级LoRa网关自带的GPS为例,来给大家简单科普一下它俩
    的头像 发表于 03-05 11:33 3330次阅读
    简单<b class='flag-5'>科普</b><b class='flag-5'>一下</b>GPS和GNSS和区别

    python里item的用法

    item是Python个非常重要的概念,它可以用于多种数据结构和算法的实现。在Python,item通常用于表示个集合或序列
    的头像 发表于 11-21 15:09 2570次阅读

    pythontuple的用法

    使用逗号进行分隔。元组在Python具有许多有用的特性和用法,本文将详尽、详实、细致地介绍Python中元组的全部内容。 首先,元组可以用来存储多个值。与列表不同的是,元组
    的头像 发表于 11-21 16:27 701次阅读

    pythontext的用法

    Python的text是个常见的数据类型,它用于存储和处理文本数据。在Python,文本常常被表示为字符串(string),字符串是
    的头像 发表于 11-23 15:46 2018次阅读

    split在python用法

    split在python用法 split()是Python个非常常用的字符串函数,它能够根据指定的分隔符将
    的头像 发表于 12-25 15:12 1702次阅读

    pythonopen函数的用法详解

    pythonopen函数的用法详解 Python的open()函数用于打开文件。它接受文件名和模式作为参数,并返回
    的头像 发表于 01-30 15:31 924次阅读