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实现网页链接提取的方法分享
Feb 25 Python
python 实现一个贴吧图片爬虫的示例
Oct 12 Python
对numpy的array和python中自带的list之间相互转化详解
Apr 13 Python
使用sklearn进行对数据标准化、归一化以及将数据还原的方法
Jul 11 Python
使用pytorch进行图像的顺序读取方法
Jul 27 Python
djang常用查询SQL语句的使用代码
Feb 15 Python
Python实现带下标索引的遍历操作示例
May 30 Python
python调用自定义函数的实例操作
Jun 26 Python
用Python从0开始实现一个中文拼音输入法的思路详解
Jul 20 Python
python获取Pandas列名的几种方法
Aug 07 Python
详解Python高阶函数
Aug 15 Python
python快速安装OpenCV的步骤记录
Feb 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
PHP 强制下载文件代码
2010/10/24 PHP
php简单分页类实现方法
2015/02/26 PHP
php写入数据到CSV文件的方法
2015/03/14 PHP
PHP ADODB实现事务处理功能示例
2018/05/25 PHP
jquery.cvtooltip.js 基于jquery的气泡提示插件
2010/11/19 Javascript
解决Jquery load()加载GB2312页面时出现乱码的两种方案
2013/09/10 Javascript
JS继承用法实例分析
2015/02/05 Javascript
javascript编写贪吃蛇游戏
2015/07/07 Javascript
jQuery实现响应鼠标背景变化的动态菜单效果代码
2015/08/27 Javascript
微信支付如何实现内置浏览器的H5页面支付
2015/09/25 Javascript
javascript发送短信验证码实现代码
2015/11/12 Javascript
javascript数组常用方法汇总
2016/09/10 Javascript
webpack多页面开发实践
2017/12/18 Javascript
Vue.js 点击按钮显示/隐藏内容的实例代码
2018/02/08 Javascript
利用vue.js把静态json绑定bootstrap的table方法
2018/08/28 Javascript
vue使用@scroll监听滚动事件时,@scroll无效问题的解决方法详解
2019/10/15 Javascript
[00:15]TI9地铁玩家打卡
2019/08/11 DOTA
Python遍历目录的4种方法实例介绍
2015/04/13 Python
从零开始学Python第八周:详解网络编程基础(socket)
2016/12/14 Python
使用Python进行目录的对比方法
2018/11/01 Python
十行代码使用Python写一个USB病毒
2019/06/21 Python
利用pyshp包给shapefile文件添加字段的实例
2019/12/06 Python
python获取响应某个字段值的3种实现方法
2020/04/30 Python
TensorFlow固化模型的实现操作
2020/05/26 Python
python对一个数向上取整的实例方法
2020/06/18 Python
通过实例简单了解Python sys.argv[]使用方法
2020/08/04 Python
Python 调用C++封装的进一步探索交流
2021/03/04 Python
详解HTML5之pushstate、popstate操作history,无刷新改变当前url
2017/03/15 HTML / CSS
GUESS德国官网:美国牛仔服装品牌
2017/02/14 全球购物
英国健身仓库:Bodybuilding Warehouse
2019/03/06 全球购物
巴西Bo.Bô官方在线商店:经营奢侈品时尚业务
2020/03/16 全球购物
铣床操作工岗位职责
2014/06/13 职场文书
领导党的群众路线教育实践活动个人对照检查材料
2014/09/23 职场文书
群众路线教育实践活动个人对照检查材料思想汇报(社区班子)
2014/10/06 职场文书
2016年“世界气象日”广播稿
2015/12/17 职场文书
vmware虚拟机打不开vmx文件怎么办 ?vmware虚拟机vmx文件打开方法
2022/04/08 数码科技