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编写函数装饰器
Mar 18 Python
python自定义异常实例详解
Jul 11 Python
Python3爬虫之urllib携带cookie爬取网页的方法
Dec 28 Python
Python设计模式之适配器模式原理与用法详解
Jan 15 Python
Python求均值,方差,标准差的实例
Jun 29 Python
kali中python版本的切换方法
Jul 11 Python
Python中拆分字符串的操作方法
Jul 23 Python
Python模块_PyLibTiff读取tif文件的实例
Jan 13 Python
python 比较字典value的最大值的几种方法
Apr 17 Python
Python 如何批量更新已安装的库
May 26 Python
python 常用日期处理-- datetime 模块的使用
Sep 02 Python
Python classmethod装饰器原理及用法解析
Oct 17 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实现utf-8和GB2312编码相互转换函数代码
2013/02/07 PHP
php将字符串转化成date存入数据库的两种方式
2014/04/28 PHP
php实现遍历目录并删除指定文件中指定内容
2015/01/21 PHP
在php中设置session用memcache来存储的方法总结
2016/01/14 PHP
Yii2.0多文件上传实例说明
2017/07/24 PHP
Mac系统下搭建Nginx+php-fpm实例讲解
2020/12/15 PHP
转义字符(\)对JavaScript中JSON.parse的影响概述
2013/07/17 Javascript
浅谈js中的闭包
2015/03/16 Javascript
JS使用eval解析JSON的注意事项分析
2015/11/14 Javascript
js类式继承与原型式继承详解
2016/04/07 Javascript
js 能实现监听F5页面刷新子iframe 而父页面不刷新的方法
2016/11/09 Javascript
jquery validation验证表单插件
2017/01/07 Javascript
详解Vue.js入门环境搭建
2017/03/17 Javascript
js实现从左向右滑动式轮播图效果
2017/07/07 Javascript
jquery-file-upload 文件上传带进度条效果
2017/11/21 jQuery
详解node child_process模块学习笔记
2018/01/24 Javascript
解决Angular.js中使用Swiper插件不能滑动的问题
2018/02/26 Javascript
使用pm2自动化部署node项目的方法步骤
2019/01/28 Javascript
vue项目前端埋点的实现
2019/03/06 Javascript
vue集成kindeditor富文本的实现示例代码
2019/06/07 Javascript
Nodejs实现WebSocket代码实例
2020/05/19 NodeJs
vue-cli+webpack项目打包到服务器后,ttf字体找不到的解决操作
2020/08/28 Javascript
vue-simple-uploader上传成功之后的response获取代码
2020/09/07 Javascript
python操作CouchDB的方法
2014/10/08 Python
Python多线程同步Lock、RLock、Semaphore、Event实例
2014/11/21 Python
探究Python中isalnum()方法的使用
2015/05/18 Python
神经网络python源码分享
2017/12/15 Python
Python 的AES加密与解密实现
2019/07/09 Python
Django框架获取form表单数据方式总结
2020/04/22 Python
django orm模块中的 is_delete用法
2020/05/20 Python
浅谈PyTorch中in-place operation的含义
2020/06/27 Python
Python+OpenCV图像处理——打印图片属性、设置存储路径、调用摄像头
2020/10/22 Python
Python爬取网站图片并保存的实现示例
2021/02/26 Python
师范大学音乐表演专业求职信
2013/10/23 职场文书
群众路线教育实践活动方案
2014/02/02 职场文书
Python Pandas 删除列操作
2022/03/16 Python