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 输出一个两行字符的变量
Feb 05 Python
Python中的引用和拷贝浅析
Nov 22 Python
浅述python中argsort()函数的实例用法
Mar 30 Python
Python函数定义及传参方式详解(4种)
Mar 18 Python
对django的User模型和四种扩展/重写方法小结
Aug 17 Python
Django实现文件上传和下载功能
Oct 06 Python
如何在VSCode上轻松舒适的配置Python的方法步骤
Oct 28 Python
Pytorch: 自定义网络层实例
Jan 07 Python
基于Keras的格式化输出Loss实现方式
Jun 17 Python
Pytorch自定义Dataset和DataLoader去除不存在和空数据的操作
Mar 03 Python
详解Flask开发技巧之异常处理
Jun 15 Python
python实现剪贴板的操作
Jul 01 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 操作excel文件的方法小结
2009/12/31 PHP
PHP gbk环境下json_dencode传送来的汉字
2012/11/13 PHP
关于扩展 Laravel 默认 Session 中间件导致的 Session 写入失效问题分析
2016/01/08 PHP
深入浅析用PHP实现MVC
2016/03/02 PHP
PHP编写登录验证码功能 附调用方法
2016/05/19 PHP
从JavaScript的函数重名看其初始化方式
2007/03/08 Javascript
JS复制到剪贴板示例代码
2013/10/30 Javascript
javascript创建数组之联合数组的使用方法示例
2013/12/26 Javascript
jQuery中:gt选择器用法实例
2014/12/29 Javascript
jquery+php随机生成红包金额数量代码分享
2015/08/27 Javascript
Bootstrap每天必学之面板
2015/11/30 Javascript
layer弹出层中H5播放器全屏出错的解决方法
2017/02/21 Javascript
ES6入门教程之let和const命令详解
2017/05/17 Javascript
jquery实现动态改变css样式的方法分析
2019/05/27 jQuery
jQuery pager.js 插件动态分页功能实例分析
2019/08/02 jQuery
使用Promise封装小程序wx.request的实现方法
2019/11/13 Javascript
vue实现element表格里表头信息提示功能(推荐)
2019/11/20 Javascript
微信小程序点击按钮动态切换input的disabled禁用/启用状态功能
2020/03/07 Javascript
Python实现LRU算法的2种方法
2015/06/24 Python
Python实现图像几何变换
2015/07/06 Python
Python实现短网址ShortUrl的Hash运算实例讲解
2015/08/10 Python
python把数组中的数字每行打印3个并保存在文档中的方法
2018/07/17 Python
使用python模拟高斯分布例子
2019/12/09 Python
python图形开发GUI库wxpython使用方法详解
2020/02/14 Python
Python局部变量与全局变量区别原理解析
2020/07/14 Python
用python批量下载apk
2020/12/29 Python
CSS3按钮鼠标悬浮实现光圈效果源码
2016/09/11 HTML / CSS
Skyscanner加拿大:全球旅行搜索平台
2018/11/19 全球购物
应用化学专业本科生求职信
2013/09/29 职场文书
汽车专业毕业生自荐信
2013/11/03 职场文书
毕业生找工作推荐信
2013/11/21 职场文书
师说教学反思
2014/02/07 职场文书
小学生环保演讲稿
2014/04/25 职场文书
云冈石窟导游词
2015/02/04 职场文书
三潭印月的导游词
2015/02/12 职场文书
个人自我鉴定怎么写?
2019/07/01 职场文书