Python函数中的可变长参数详解


Posted in Python onSeptember 12, 2019

一、Python函数中的参数

1、使用python的函数时,有参数类别,比如位置参数、关键字参数、可变长参数

2、位置参数、关键字参数很好理解,关键是可变长参数经常能见到,但是一直没有搞懂是什么意思

二、可变长参数

1、一个星号:函数可以接收任意个数的参数,只需要在形参前面加一个*(星号),一个星号形参的函数会把多个位置参数值当成元祖的形式传入,也就是传入的多个参数值可以在函数内部进行元祖遍历

def length_param(a, *args):
  print("a=", a)
  print("args=", args)

  for arg in args:
    print("arg=", arg)


length_param("zim","this","is","a","good","thing")

执行结果:

Python函数中的可变长参数详解

2、两个星号:形参前面加两个*(星号),注意是两个星号哦,两个星号形参的函数会把关键字参数值当成字典的形式传入,在函数内部会把关键字参数当成字典在函数内部进行遍历

def length_param(a, **kwargs):
  print("a=", a)

   print("kwargs=", kwargs)
 
   for kwarg in kwargs.keys():
     print("kwarg=", kwarg)

length_param("zim",b="this",c="is",d="good")

执行结果:

Python函数中的可变长参数详解

3、一个星号和两个星号混合使用

class Params:
  def length_param(self,*args,**kwargs):
    print("args=",args)
    print("kwargs=",kwargs)

    for arg in args:
      print("arg=",arg)

    for kwarg in kwargs.values():
      print("kwarg=",kwarg)

one = Params()

one.length_param("sam","this","is","good","thing",b="you",c="love",d="me")

执行结果:

Python函数中的可变长参数详解

注意:传入可变长参数时,传入关键字参数的key一定不能有冒号,否则会报如下错误

Python函数中的可变长参数详解

三、注意事项:

函数调用时关键字参数必须在位置参数后面

以上就是本次介绍的全部知识点内容,感谢大家的学习和对三水点靠木的支持。

Python 相关文章推荐
深入解析Python中的上下文管理器
Jun 28 Python
Python 爬虫学习笔记之多线程爬虫
Sep 21 Python
详解python使用递归、尾递归、循环三种方式实现斐波那契数列
Jan 16 Python
pygame游戏之旅 按钮上添加文字的方法
Nov 21 Python
Python之lambda匿名函数及map和filter的用法
Mar 05 Python
利用python和百度地图API实现数据地图标注的方法
May 13 Python
详解利用Python scipy.signal.filtfilt() 实现信号滤波
Jun 05 Python
Python简易计算器制作方法代码详解
Oct 31 Python
python实现梯度下降和逻辑回归
Mar 24 Python
Python基于codecs模块实现文件读写案例解析
May 11 Python
PyCharm中关于安装第三方包的三个建议
Sep 17 Python
python实现对doc、txt、xls等文档的读写操作
Apr 02 Python
python爬虫-模拟微博登录功能
Sep 12 #Python
python设置随机种子实例讲解
Sep 12 #Python
pytest中文文档之编写断言
Sep 12 #Python
python中调试或排错的五种方法示例
Sep 12 #Python
详解Python 中sys.stdin.readline()的用法
Sep 12 #Python
Python3将数据保存为txt文件的方法
Sep 12 #Python
Python3 tkinter 实现文件读取及保存功能
Sep 12 #Python
You might like
PHP+XML 制作简单的留言本 图文教程
2009/11/02 PHP
PHP使用CURL获取302跳转后的地址实例
2014/05/04 PHP
php中常量DIRECTORY_SEPARATOR用法深入分析
2014/11/14 PHP
php使用str_replace替换多维数组的实现方法分析
2017/06/15 PHP
用js实现控制内容的向上向下滚动效果
2007/06/26 Javascript
用js实现的模拟jquery的animate自定义动画(2.5K)
2010/07/20 Javascript
强大的jquery插件jqeuryUI做网页对话框效果!简单
2011/04/14 Javascript
JSON语法五大要素图文介绍
2012/12/04 Javascript
全面解析Bootstrap表单使用方法(表单按钮)
2015/11/24 Javascript
jQuery手指滑动轮播效果
2016/12/22 Javascript
js轮播图无缝滚动效果
2017/06/17 Javascript
JS解析url查询参数的简单代码
2017/08/06 Javascript
jQuery中ajax请求后台返回json数据并渲染HTML的方法
2018/08/08 jQuery
OpenLayer学习之自定义测量控件
2020/09/28 Javascript
[01:48]完美圣典齐天大圣至宝宣传片
2016/12/17 DOTA
简单谈谈python中的Queue与多进程
2016/08/25 Python
python中Pycharm 输出中文或打印中文乱码现象的解决办法
2017/06/16 Python
Django 忘记管理员或忘记管理员密码 重设登录密码的方法
2018/05/30 Python
Python实现的读写json文件功能示例
2018/06/05 Python
python使用epoll实现服务端的方法
2018/10/16 Python
简单了解python PEP的一些知识
2019/07/13 Python
Python利用scapy实现ARP欺骗的方法
2019/07/23 Python
python tkinter图形界面代码统计工具(更新)
2019/09/18 Python
PyTorch中反卷积的用法详解
2019/12/30 Python
python爬虫请求头设置代码
2020/07/28 Python
Python 捕获代码中所有异常的方法
2020/08/03 Python
python中re模块知识点总结
2021/01/17 Python
css3中新增的样式使用示例附效果图
2014/08/19 HTML / CSS
详解CSS 3 中的 calc() 方法
2018/01/12 HTML / CSS
英国时尚泳装品牌:Maru Swimwear
2019/10/06 全球购物
Linux上比较文件的命令都有哪些
2013/09/28 面试题
CNC数控操作工岗位职责
2013/11/19 职场文书
电子商务个人自荐信
2013/12/12 职场文书
辞职书格式样本
2015/02/26 职场文书
2015年妇幼卫生工作总结
2015/05/23 职场文书
2016大学生暑期社会实践心得体会
2016/01/14 职场文书