函数参数

Posted songxuexiang

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了函数参数相关的知识,希望对你有一定的参考价值。

目录

一:参数分类

二:位置参数

三:关键字参数

四:默认参数

五:可变长参数

 

一:参数分类

    1、函数参数有两种分类方式:

      1)形参、实参

         形参:在定义时,括号内定义的参数,形参就是变量名              

         实参:在调用时,括号内传入的值,实参就是变量名

          技术分享图片

       2)位置参数、关键字参数、默认参数、可变长参数               

二:位置参数

      1、定义:位置即顺序,位置参数值的就是按照从左到右的顺序依次定义的参数

      2、位置参数:位置形参、位置实参

        1)位置形参

           定义函数时,按照位置定义的形参,称为位置形参

        def foo(x,y,z):   #按照顺序
            print(x,y,z)
    #注意点:在掉用函数时,必须为其传值,而且多一个不行,少一个不行

        2)位置实参

           按照位置定义的实参,称为位置实参

        foo(1,2,3)#按照顺序传值
    #注意点:位置实参会与形参一一对应

三:关键字参数

        1、定义:在调用函数时,按照key=value的形式定义的实参,

            称为关键字参数

        2、关键字参数:

            相当于指名道姓地为形参传值,以为着不按照顺序定义,

            仍然能为指定的参数传值

        def  foo(x,y,z):
           print(你好)
        foo(1,2,z=12)   #位置实参可以和关键字参数合用
        foo(1,z=12,2)  #错误用法,关键字参数必须在为参数后面
        foo(1,x=1,y=2,z=12)#错误用法,不能为同意个形参传值

四:默认参数

      定义:在定义阶段已经为摸个形参赋值,这种形参就叫默认参数

      技术分享图片

      def register(name,age,sex=‘male‘):
          print(name,age,sex)

      def func(y=1,x): #错误,默认函数必须在位置形参后面
          pass
注意:默认参数只在定义阶段赋值一次,也就是说默认参数的值在定义阶段就固定死了
      m=10#次位传
      def foo(x,y=m):
      print(x,y)
      m=‘1213‘#传不进去,因为已经到了调用阶段
      foo(1)
      foo(1,11)#最先传  

五:可变长参数

      1、定义:实参不固定,如何将多于的实参传进去

      2、可变长位置参数:

          1)可变长位置参数*args:

            *将溢出的位置实参全部接收,然后保存为元组

            的形式赋值给args

          def foo(x,y,z,*args): #args=(4,5,6,7,8)
              print(x,y,z)
              print(args)
          foo(1,2,3,4,5,6,7,8,)

          2)可变长关键字参数**kwargs:

           *将溢出的关键字实参全部接收,然后保存为字典

           的形式赋值给args

          def foo(x,y,z,**kwargs): #kwargs={a:1,b:2,c:3}
              print(x,y,z)
              print(args)
          foo(1,2,3,a=1,b=2,c=3)

        3、实参中包含*、**

          def s(x,y,z):
              print(x,y,z)
        s(1,*ds)

        #将加星的参打散成一个个元素传入形参

        def s(x,y,z):
            print(x,y,z)

        s(1,**{y:1,z:2})    

 

 

  

以上是关于函数参数的主要内容,如果未能解决你的问题,请参考以下文章

Python函数

第四篇 函数

VSCode自定义代码片段——声明函数

VSCode自定义代码片段8——声明函数

解决方案电影标题中缺少代码的片段,完成挑战更多[关闭]

JS常用代码片段-127个常用罗列-值得收藏