• 首页 首页 icon
  • 工具库 工具库 icon
    • IP查询 IP查询 icon
  • 内容库 内容库 icon
    • 快讯库 快讯库 icon
    • 精品库 精品库 icon
    • 问答库 问答库 icon
  • 更多 更多 icon
    • 服务条款 服务条款 icon

python函数的参数

武飞扬头像
测试小白00
帮助1

一、参数的定义

1、函数的参数在哪里定义

在python函数中,函数名后面括号里面的就是用来定义参数的。如果有多个参数,就用逗号进行隔开。

案例:

学新通

2、带参数的函数调用:

函数定义了参数,那么调用函数的时候就需要传入参数

上面的案列中,我们定义函数的时候在函数名后面的括号里定义的参数叫做形参

而我们调用函数的时候传入的参数叫做实参形参是用来接收实参的

二、参数分类

形参和实参在定义和调用的时候,根据形式不同可以分为几类

1、实参:位置参数、关键字参数

1.1、位置参数(未命名参数)

  1.  
    def func(a,b,c):
  2.  
    print(a)
  3.  
    print(b)
  4.  
    print(c)
  5.  
     
  6.  
    func(11,22,33)
  7.  
    # 定义函数的形参是按位置来接受传入的实参,我们把这样的传参形式叫做位置参数

1.2、关键字参数(命名参数)

  1.  
    def func(a,b,c):
  2.  
    print(a)
  3.  
    print(b)
  4.  
    print(c)
  5.  
     
  6.  
    func(11,c=22,b=33)
  7.  
     
  8.  
    # 调用函数的时候,实参通过参数名指定传给某个形参,这样的传参形式,我们叫做关键字参数
  9.  
    # 注意:传参的时候先写位置参数,再写命名参数

2、形参:必备参数、默认参数、不定长参数

2.1、必备参数

在调用函数的时候必须要传的参数

  1.  
    def add(a,b):
  2.  
    c=a b
  3.  
    print(c)
  4.  
     
  5.  
    add(11,22

上面函数中的a,b就是必备参数,在调用的函数的时候必须要传,不然就会报错

2.2、默认参数

调用函数的时候可传可不传的参数,不传就用默认值

  1.  
    def func(a,b,c=88):
  2.  
    print(a)
  3.  
    print(b)
  4.  
    print(c)
  5.  
    func(1,2,3)
  6.  
    print("{:-^30}".format('区别'))
  7.  
    func(1,2)
  8.  
     
  9.  
    '''
  10.  
    运行结果:
  11.  
    1
  12.  
    2
  13.  
    3
  14.  
    --------------区别--------------
  15.  
    1
  16.  
    2
  17.  
    88
  18.  
    '''
学新通

通过上述案列中我们可以发现,第一次调用的时候,我们传入了三个参数,c打印出来的是我们传入的值,第二次只传入了两个参数,这个时候c打印出来的是我们定义的时候给它设置的默认值
注意:带有默认值的参数一定要位于参数列表的最后面。

2.3 不定长参数*args和 **kwargs

调用函数的时候可以传0个或者多个

2.3.1、*args:接受多传入的位置参数、以元组的形式保存

  1.  
    def func(*args):
  2.  
    print(args)
  3.  
     
  4.  
    func(1,2,3,4)
  5.  
    func(*(1,2,3,4))
  6.  
    func(*[1,2,3,4])

*args,args接收的是一个元祖;

调用的时候可以直接传入:func(11,22,33,44,55,66,77)

也可以可以先组装list或tuple,再通过*拆包传入:func(*(11,22,33,44,55,66,77))

2.3.2、**kwargs:接收多传入的关键字参数,以字典的形式保存

  1.  
    def func(**kwargs):
  2.  
    print(kwargs)
  3.  
     
  4.  
    func(a=1,b=2,c=3)
  5.  
    func(**{"a":1,"b":2,"c":3})
  1.  
    def func(a,*args,**kwargs):
  2.  
    print(f"{a}")
  3.  
    print(f"{args}")
  4.  
    print(f"{kwargs}")
  5.  
    func(1,2,3,4,f=6)

**kwargs,kw接收的是一个字典;

关键字参数既可以直接传入:func(e=33,h=44,f=55,d=66,c=77)

也可以先组装dict,再通过**kw传入:func(**{'e':33,'h':44,'d':66,'c':77})

**注意点:**使用*args**kwargs是Python的习惯写法,当然也可以用其他参数名,但最好使用习惯用法。

这篇好文章是转载于:学新通技术网

  • 版权申明: 本站部分内容来自互联网,仅供学习及演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,请提供相关证据及您的身份证明,我们将在收到邮件后48小时内删除。
  • 本站站名: 学新通技术网
  • 本文地址: /boutique/detail/tanhieebka
系列文章
更多 icon
同类精品
更多 icon
继续加载