加入星计划,您可以享受以下权益:

  • 创作内容快速变现
  • 行业影响力扩散
  • 作品版权保护
  • 300W+ 专业用户
  • 1.5W+ 优质创作者
  • 5000+ 长期合作伙伴
立即加入
  • 正文
  • 相关推荐
  • 电子产业图谱
申请入驻 产业图谱

python的参数详解

10/07 08:25
597
阅读需 4 分钟
加入交流群
扫码加入
获取工程师必备礼包
参与热点资讯讨论

参数类别

实参:实际上的参数
形参:形式上的参数

在这里插入图片描述
如上图,实际输入的参数为实参,在函数中占位置的参数为形参。

实参类型

1、位置实参

定义:调用的时候,需要根据位置传递实际参数

在这里插入图片描述

如图,Lion / Dog占了两个位置,期望是传递实参建议按照这个顺序,不然,即时能够接受,也不能正确的处理。(Lion的名字跟Dog的名字,因为传递错误,将导致不能正确识别)

2、关键字实参

定义:调用的时候,需要指定形参名称

在这里插入图片描述
如图,在调用的时候直接赋值,这种传递方式一目了然。

3、默认值实参

定义:在函数中,直接赋值给参数

在这里插入图片描述

如图,直接在函数定义一个默认值,在调用的时候,可以不传递,当然也可以传递。

形参类型

形参类型分为非关键字形参*args, 关键字形参**kwargs,先上代码体验一下,:

def func(*args, **kwargs):
    print("-------------------------")
    print('args is {}'.format(args))
    print('kwarg is {}'.format(kwargs))
    try:
        print('firstArgs is {}'.format(args[0]))
        print('firstKwarg is {}'.format(kwargs["a"]))
    except:
        pass

if __name__ == "__main__":

    func(1, 2) # 元组
    func(a=1, b=2, c=3, d=4) # 字典
    func(1, 2, a=1, b=2) # 元组+字典

在这里插入图片描述

如上,我们了解了非关键字形参*args, 关键字形参**kwargs的用法。

非关键字形参:用于接收不含关键字的输入数据(如:1,2,3),会以元组的形式进入函数;

非关键字形参:用于接收含有关键字的输入数据(如:key=1中的key),会以字典的形式进入函数;

注意事项:
1、*args, **kwargs可单独存在
2、*args, **kwargs同时存在时,函数定义的形参,*args形参必须在前
3、*args, **kwargs同时存在时,传递实参的顺序,*args实参必须在前
4、取值方式:
*args可通过列表取值方式,如:args[0]
**kwargs可通过字典取值方式,如:kwargs[“key”]
5、参数扩展:可以跟普通形参一起使用,如:func(a,b,c=“name”,*args, **kwargs)

相关推荐

电子产业图谱