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抓取网页中图片并保存到本地
Dec 01 Python
Python安装使用命令行交互模块pexpect的基础教程
May 12 Python
Python数据结构与算法之图的广度优先与深度优先搜索算法示例
Dec 14 Python
Python入门之后再看点什么好?
Mar 05 Python
django 外键model的互相读取方法
Dec 15 Python
详解Python 爬取13个旅游城市,告诉你五一大家最爱去哪玩?
May 07 Python
python字符串Intern机制详解
Jul 01 Python
opencv python图像梯度实例详解
Feb 04 Python
Python sys模块常用方法解析
Feb 20 Python
golang特有程序结构入门教程
Jun 02 Python
Python数据分析之pandas读取数据
Jun 02 Python
python基础之//、/与%的区别详解
Jun 10 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
PHP&amp;MYSQL服务器配置说明
2006/10/09 PHP
php中利用post传递字符串重定向的实现代码
2011/04/21 PHP
win7下memCache的安装过程(具体操作步骤)
2013/06/28 PHP
php字符串截取函数用法分析
2014/11/25 PHP
实例讲解如何在PHP的Yii框架中进行错误和异常处理
2016/03/17 PHP
会自动逐行上升的文本框
2006/06/30 Javascript
在你的网页中嵌入外部网页的方法
2007/04/02 Javascript
网页自动跳转代码收集
2009/09/27 Javascript
Javascript笔记一 js以及json基础使用说明
2010/05/22 Javascript
jquery制作搜狐快站页面效果示例分享
2014/02/21 Javascript
jquery分页插件jpaginate在IE中不兼容问题
2014/04/22 Javascript
jQuery函数的第二个参数获取指定上下文中的DOM元素
2014/05/19 Javascript
如何书写高质量jQuery代码(使用jquery性能问题)
2014/06/30 Javascript
jQuery中prependTo()方法用法实例
2015/01/08 Javascript
深入学习JavaScript对象
2015/10/13 Javascript
详解angularjs结合pagination插件实现分页功能
2017/02/10 Javascript
socket.io实现在线群聊功能
2017/04/07 Javascript
JS实现图片上传多次上传同一张不生效的处理方法
2018/08/06 Javascript
基于vue实现滚动条滚动到指定位置对应位置数字进行tween特效
2019/04/18 Javascript
微信小程序如何再次获取用户授权的方法
2019/05/10 Javascript
uni-app 支持多端第三方地图定位的方法
2020/01/03 Javascript
vue print.js打印支持Echarts图表操作
2020/11/13 Javascript
Python学习_几种存取xls/xlsx文件的方法总结
2018/05/03 Python
Linux下python3.7.0安装教程
2018/07/30 Python
Python中作用域的深入讲解
2018/12/10 Python
python实现经纬度采样的示例代码
2020/12/10 Python
HTML5标签使用方法详解
2015/11/27 HTML / CSS
李维斯法国官网:Levi’s法国
2019/07/13 全球购物
欧洲著名的二手奢侈品网站:Vestiaire Collective
2020/03/07 全球购物
高三英语教学反思
2014/01/13 职场文书
个人担保书格式范文
2014/05/12 职场文书
企业法人代表任命书
2014/06/06 职场文书
甜品店创业计划书
2014/08/14 职场文书
上诉状格式
2015/05/23 职场文书
2016高三毕业赠言寄语
2015/12/04 职场文书
CSS使用SVG实现动态分布的圆环发散路径动画
2022/12/24 HTML / CSS