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 numpy和list查询其中某个数的个数及定位方法
Jun 27 Python
Django项目开发中cookies和session的常用操作分析
Jul 03 Python
Flask-Mail用法实例分析
Jul 21 Python
python Flask 装饰器顺序问题解决
Aug 08 Python
python创建文件时去掉非法字符的方法
Oct 31 Python
对python 多线程中的守护线程与join的用法详解
Feb 18 Python
python文件选择对话框的操作方法
Jun 27 Python
详解python播放音频的三种方法
Sep 23 Python
Python集成开发工具Pycharm的安装和使用详解
Mar 18 Python
Python调用OpenCV实现图像平滑代码实例
Jun 19 Python
Python descriptor(描述符)的实现
Nov 15 Python
Python基础知识之变量的详解
Apr 14 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
一个用php3编写的简单计数器
2006/10/09 PHP
cache_lite试用
2007/02/14 PHP
linux使用crontab实现PHP执行计划定时任务
2014/05/10 PHP
php去除数组中重复数据
2014/11/18 PHP
非常全面的php日期时间运算汇总
2015/11/04 PHP
laravel 获取当前url的别名方法
2019/10/11 PHP
javascript的事件触发器介绍的实现
2014/06/05 Javascript
深入理解JavaScript系列(36):设计模式之中介者模式详解
2015/03/04 Javascript
node-webkit打包成exe文件被360误报木马的解决方法
2015/03/11 Javascript
javascript实现控制的多级下拉菜单
2015/07/05 Javascript
纯javascript实现图片延时加载方法
2015/08/21 Javascript
JavaScript基本数据类型及值类型和引用类型
2015/08/25 Javascript
探究Javascript模板引擎mustache.js使用方法
2016/01/26 Javascript
JS正则RegExp.test()使用注意事项(不具有重复性)
2016/12/28 Javascript
JavaScript实现简单的四则运算计算器完整实例
2017/04/28 Javascript
JavaScript模板引擎实现原理实例详解
2018/12/14 Javascript
Promise扫盲贴
2019/06/24 Javascript
小程序点击图片实现png转jpg
2019/10/22 Javascript
Python+Django在windows下的开发环境配置图解
2009/11/11 Python
Python实现MySQL操作的方法小结【安装,连接,增删改查等】
2017/07/12 Python
python中的二维列表实例详解
2018/06/19 Python
Mac安装python3的方法步骤
2019/08/09 Python
Python3以GitHub为例来实现模拟登录和爬取的实例讲解
2020/07/30 Python
python爬虫泛滥的解决方法详解
2020/11/25 Python
python反扒机制的5种解决方法
2021/02/06 Python
CSS3混合模式mix-blend-mode/background-blend-mode简介
2018/03/15 HTML / CSS
女孩每月服装订阅盒:kidpik
2019/04/17 全球购物
航海技术专业毕业生求职信
2014/04/06 职场文书
酒店员工培训方案
2014/06/02 职场文书
乡镇八一建军节活动方案
2014/08/24 职场文书
倡议书范文大全
2015/04/28 职场文书
公司辞职信模板
2015/05/13 职场文书
开学第一周总结
2015/07/16 职场文书
2016年小学六一儿童节活动总结
2016/04/06 职场文书
六年级作文之关于梦
2019/10/22 职场文书
简单且有用的Python数据分析和机器学习代码
2021/07/02 Python