Python中函数参数的传递,可以分为以下几种形式:

假设有一个函数,定义如下:

def fn(a,b,c):print(a)print(b)print(c)

1. 按参数所在的位置传递

调用方式:

fn(1,2,3)

这种传递方式,参数的值,完全由参数所在的位置决定,本例中,参数a对应参数值1,参数b对应参数值2,参数c对应参数值3

2. 按关键字传递

所谓的按关键字传递,通俗一点讲,就是在调用函数的时候,把参数名称和参数值作为一个整体,一起传递给它。参数名称必须要与对应的函数参数名称保持一致。

调用方式:

fn(b=3,a=2,c=1)

由于在调用函数的时候,我们指定了参数的名称,此时,参数值跟该参数所在的位置就没用关系了,只跟参数名称对应的值有关。本例中, 参数a对应参数值2,参数b对应参数值3,参数c对应参数值1

3. 位置形式的可变参数

函数的定义需要修改一下,改成如下形式:

def fn(a,b,*c):print(a)print(b)print(c)

看到没有,函数的第三个参数c前面多了一个*号,这个*号表示,我可以接收若干个参数,且参数的形式必须按位置传递。

调用方式:

fn(1,2,3,4,5,6,7)

此时, 参数a对应参数值1,参数b对应参数值2,剩下的参数值3,4,5,6,7全部由参数c接收,接收后,变成一个元组,即(3,4,5,6,7)

4. 关键字形式的可变参数

相对于位置形式的可变参数,函数的定义形式上稍有不同,如下:

def fn(a,b,**c):print(a)print(b)print(c)

仔细比较下,函数的第三个参数c由之前的*c变成了**c,即参数前带了两个*,同样,两个*号也表示可以接收若干个参数,但与一个*号不同的是,两个*号要求的参数传递形式必须是按关键字传递。

调用方式:

fn(1,2,c=3,d=4,e=5)

此时, 参数a对应参数值1,参数b对应参数值2,剩下的参数值3,4,5全部由参数c接收,接收后,变成一个字典类型,如:

{'c':3,'d':4,'e':5}

关于Python可变参数的理解相关推荐

  1. python 可变参数

    python 可变参数 def add1(*data):sum = 0for i in data:sum = sum + ireturn sumprint( add1(1,2,3,4,5) )prin ...

  2. Java可变参数 Python可变参数 Scala可变参数

    Java 可变参数的特点: (1).只能出现在参数列表的最后: (2)....位于变量类型和变量名之间,前后有无空格都可以: (3).调用可变参数的方法时,编译器为该可变参数隐含创建一个数组,在方法体 ...

  3. Xiaoxia[PG] Python可变参数与标准输出的重定位

    Xiaoxia[PG] Python可变参数与标准输出的重定位 Python可变参数与标准输出的重定位 « Xiaoxia[PG] Python可变参数与标准输出的重定位 使用Python的内置函数p ...

  4. python可变参数_Python 的四种共享传参详解

    点击上方"Python数据之道",选择"星标公众号" 精品文章,第一时间送达 作者 | 杨仁聪 编辑 | Lemon 出品 | Python数据之道 本文来自公 ...

  5. python 可变参数 关键字参数_Python之 可变参数和关键字参数

    原标题:Python之 可变参数和关键字参数 刚开始接触 python 的时候,对 python 中的 *wargs (可变参数) 和 **kwargs (关键字参数)的理解不是很透彻,看了一下 &l ...

  6. python可变参数函数二阶导数公式_python中函数的可变参数

    简介 INTRODUCTION一.[其实已经用过]可变参数 二.可变参数+普通参数 结合用法1 三.知识要点总结强调 知识回顾: 1.函数关键字参数 2.函数的参数的默认值.必须从右边写到左边. 一. ...

  7. python可变参数报错_Python之可变参数,*参数,**参数,以及传入*参数,进行解包...

    1.定义了一个需要两个参数的函数 def print_str(first, second): print first print second if __name__ == "__main_ ...

  8. Python可变参数

    在Python函数中,还可以定义可变参数.顾名思义,可变参数就是传入的参数个数是可变的,可以是1个.2个到任意个,还可以是0个.以数学题为例子,给定一组数字a,b,c--,请计算a2 + b2 + c ...

  9. python可变参数和关键字参数位置_python的位置参数、默认参数、关键字参数、可变参数区别...

    一.位置参数 调用函数时根据函数定义的参数位置来传递参数. #!/usr/bin/env python # coding=utf-8def print_hello(name, sex): sex_di ...

最新文章

  1. 服务器租用之服务器带宽情况分析
  2. jquery实现上传图片及图片大小验证、图片预览效果代码
  3. 在Ubuntu桌面上显示我的电脑等图标
  4. EMNLP2020文档级关系抽取模型GAIN 论文Double Graph Based Reasoning for Document-level Relation Extraction
  5. golang的https服务器
  6. [e袋购APP]高校物业管理的特点
  7. C++驱动海康威视摄像头
  8. 2022年机器视觉综述论文
  9. win7电脑桌面背景异常
  10. uniapp支付打开支付宝app进行付款
  11. Kd-tree原理与实现
  12. with as的update写法
  13. 小白的模拟电路初步学习20日打卡(14)
  14. nacis服务注册原理_Nacos 服务注册的原理
  15. Nat Micro:房刚组揭示细菌表观遗传调节艰难梭菌孢子形成
  16. 高通PC(笔记本电脑)端骁龙850详细参数介绍
  17. Qt实现表格控件-支持多级列表头、多级行表头、单元格合并、字体设置等
  18. EMVTag系列8《IC卡公钥证书》
  19. Windows 7 系统服务优化
  20. 怎样取消悬浮的窗口?

热门文章

  1. ENJ2010 IGBT便携式测试仪
  2. GC8548双通道H桥电机驱动芯片
  3. hive函数——greatest、least 多列取最大最小值
  4. SpringCloud学习笔记02-服务提供者与服务消费者
  5. cmd获取python返回值
  6. WQS二分 学习笔记 + 例题([BZOJ2654]Tree、[联考2018]林克卡特树)
  7. 使用vue-cli结合express获取mongodb里面的数据
  8. Conda配置国内镜像源
  9. #深度解析# 深度学习中的SGD、BGD、MBGD、Momentum、NAG、Adagrad、Adadelta,RMSprop、Adam优化器
  10. Android preference API使用总结