美文网首页
不定长参数(*/**)

不定长参数(*/**)

作者: young后知后觉 | 来源:发表于2023-12-18 21:56 被阅读0次

    不定长参数定义:也叫可变参数,用于不确定调用的时候会传递多少个参数(不传参也可以)的场景

    不定长参数作用:当调用函数不确定参数个数时,可以使用不定长参数

    不定长指的是参数的数量,数量可以是任意的

    不定长参数的类型:

    1.位置传递 (标志性符号为:*   ,格式*不定长参数/形参)

    2.关键字传递(标志性符号为:**,格式**不定长参数/形参)

    def a(*b)              带上*,表明形参b它所接收的数量是无限的(数量可为单个也可以为多个),当我们使用不定长传递的时候,b这个形式参数,就会默认标记为元组类型,当传递不定长参数(传实参)的时候,通常都会存储到元组内部(这一部分为原理,解释作用),所以我们可以以元组的形式去调用,所以b也可以叫做元组。

    b的实参可以为0个,也可以为无限个。

    带个*,b形式参数,b的实参为单个时,调用函数的时候,就显示一个值;b的实参为多个时,调用函数的时候,就展示多个值,形参b的类型就是以元组的形式存储了

    def a(*d):

          print(d)

    a(1,2,3)

    1,2,3

    通过*得到的不定长,那么这种不定长我们叫做位置传递

    def a(**b) 

    通过**得到的不定长,这种叫关键字传递,它的实参不受限制,可以一个也可以多个,同时也必须满足key=值的这种键值对的形式,传实参的时候,按照要求:key=value这种方式传递(调用函数,实参按照这种方式写代码)。比如实参b("你好"=11),传入的时候(调用函数),(形参b的类型)就形成字典了。

    def a(**d):

           print(d)

    a(c="你好",e="我们")

    {c="你好",e="我们"}

    还有一种方式,通过字典的方式去定义:

    def a(**d):

    e={"你好"=22,"我们"=11}

    a(**e)                          #如果是以"e"字典的形式,那么调用的时候需要加上(**e),带上**,说明是解包的意思,这个是语法规则,也可以这么理解

    {"你好"=22,"我们"=11}

    12.19  二

    相关文章

      网友评论

          本文标题:不定长参数(*/**)

          本文链接:https://www.haomeiwen.com/subject/qrnagdtx.html