Python *args和**kwargs用法实例解析


Posted in Python onMarch 02, 2020

一、*args的使用方法

*args 用来将参数打包成tuple给函数体调用

def fun(*arg):
  print(arg,type(arg))
  print(*arg)
fun(1,2,[8,9])
(1, 2, [8, 9]) <class 'tuple'>
2 [8, 9]

并不一定必须是args,也可以是别的,但是官方不建议这样!

args是一个元祖,*号可以将元祖拆分。

二、**kwargs的使用方法

**kwargs 打包关键字参数成dict给函数体调用def fun(**kwarg):

print(kwarg,type(kwarg))
  # print(**kwarg)#TypeError: 'a' is an invalid keyword argument for print()

fun(a=1,b=6)
fun(**{'name':'Peter','gender':'male'})
{'a': 1, 'b': 6} <class 'dict'>
{'name': 'Peter', 'gender': 'male'} <class 'dict'>

kwargs也不是必须的,但是也不推荐改成别的!

注意:参数arg、*args、**kwargs三个参数的位置必须是一定的。必须是(arg,*args,**kwargs)这个顺序,否则程序会报错。

错误示范:

def fun(*args,**kwarg):
  print(args,kwarg,type(kwarg))
  # print(**kwarg)#TypeError: 'a' is an invalid keyword argument for print()
fun(a=6,1,2,3,**{'name':'Peter','gender':'male'})

File "C:/Users/Administrator.SC-201903160419/Desktop/笔记/myrequest.py", line 37
  fun(a=6,1,2,3,**{'name':'Peter','gender':'male'})
      ^
SyntaxError: positional argument follows keyword argument

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
举例讲解Python中字典的合并值相加与异或对比
Jun 04 Python
TensorFlow高效读取数据的方法示例
Feb 06 Python
python实现音乐下载器
Apr 15 Python
详解Python中的正则表达式
Jul 08 Python
PyCharm代码回滚,恢复历史版本的解决方法
Oct 22 Python
python 自动重连wifi windows的方法
Dec 18 Python
pycharm重命名文件的方法步骤
Jul 29 Python
python实现把二维列表变为一维列表的方法分析
Oct 08 Python
Python3.x+pyqtgraph实现数据可视化教程
Mar 14 Python
django中嵌套的try-except实例
May 21 Python
无需压缩软件,用python帮你操作压缩包
Aug 17 Python
Python实现学生管理系统并生成exe可执行文件详解流程
Jan 22 Python
Python通过2种方法输出带颜色字体
Mar 02 #Python
Python实现屏幕录制功能的代码
Mar 02 #Python
python实现录屏功能(亲测好用)
Mar 02 #Python
基于Numba提高python运行效率过程解析
Mar 02 #Python
Python3 assert断言实现原理解析
Mar 02 #Python
Django认证系统user对象实现过程解析
Mar 02 #Python
在python中使用pymysql往mysql数据库中插入(insert)数据实例
Mar 02 #Python
You might like
linux命令之调试工具strace的深入分析
2013/06/03 PHP
php读取mysql中文数据出现乱码的解决方法
2013/08/16 PHP
PHP实现文件下载详解
2014/11/27 PHP
PHP上传图片、删除图片简单实例
2016/11/12 PHP
thinkphp5修改view到根目录实例方法
2019/07/02 PHP
javascript中的关于类型转换的性能优化
2010/12/14 Javascript
js获取浏览器的可视区域尺寸的实现代码
2011/11/30 Javascript
JQuery 控制内容长度超出规定长度显示省略号
2014/05/23 Javascript
javascript常用代码段搜集
2014/12/04 Javascript
JQuery中ajax方法访问web服务实例
2015/07/18 Javascript
Bootstrap显示与隐藏简单实现代码
2017/03/06 Javascript
利用Ionic2 + angular4实现一个地区选择组件
2017/07/27 Javascript
react 父组件与子组件之间的值传递的方法
2017/09/14 Javascript
实例讲解vue源码架构
2019/01/24 Javascript
详解Vue项目引入CreateJS的方法(亲测可用)
2019/05/30 Javascript
JS中async/await实现异步调用的方法
2019/08/28 Javascript
微信小游戏中three.js离屏画布的示例代码
2020/10/12 Javascript
使用PDB简单调试Python程序简明指南
2015/04/25 Python
Python编程修改MP3文件名称的方法
2017/04/19 Python
对python中的for循环和range内置函数详解
2018/04/17 Python
python看某个模块的版本方法
2018/10/16 Python
Python批量查询关键词微信指数实例方法
2019/06/27 Python
python命名空间(namespace)简单介绍
2019/08/10 Python
利用CSS3制作简单的3d半透明立方体图片展示
2017/03/25 HTML / CSS
印尼太阳百货公司网站:Matahari
2018/02/04 全球购物
维氏瑞士军刀英国网站:Victorinox英国
2019/07/04 全球购物
英国在线购买马术服装:EQUUS
2019/07/12 全球购物
欧姆龙医疗欧洲有限公司:Omron Healthcare Europe B.V
2020/06/13 全球购物
文员个人的求职信范文
2013/09/26 职场文书
简单租房协议书范本
2014/08/20 职场文书
大学生党员自我剖析材料
2014/10/06 职场文书
给医院的感谢信
2015/01/21 职场文书
主持人开幕词
2015/01/29 职场文书
放假通知怎么写
2015/08/18 职场文书
2019职场单身人才调研报告:互联网行业单身比例最高
2019/08/07 职场文书
python3中apply函数和lambda函数的使用详解
2022/02/28 Python