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计算对角线有理函数插值的方法
May 07 Python
Python编程实现删除VC临时文件及Debug目录的方法
Mar 22 Python
Python常用时间操作总结【取得当前时间、时间函数、应用等】
May 11 Python
python 实现对文件夹内的文件排序编号
Apr 12 Python
如何用python整理附件
May 13 Python
Python装饰器用法实例总结
May 26 Python
python顺序的读取文件夹下名称有序的文件方法
Jul 11 Python
pycharm远程开发项目的实现步骤
Jan 20 Python
python初学者,用python实现基本的学生管理系统(python3)代码实例
Apr 10 Python
Python日期时间Time模块实例详解
Apr 15 Python
Python extract及contains方法代码实例
Sep 11 Python
通过实例解析python and和or使用方法
Nov 14 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/05/26 PHP
有关php运算符的知识大全
2011/11/03 PHP
如何批量替换相对地址为绝对地址(利用bat批处理实现)
2013/05/27 PHP
js下判断 iframe 是否加载完成的完美方法
2010/10/26 Javascript
服务器端的JavaScript脚本 Node.js 使用入门
2012/03/07 Javascript
一个基于jQuery的树型插件(OrangeTree)使用介绍
2012/05/03 Javascript
jquery验证表单中的单选与多选实例
2013/08/18 Javascript
浅析jquery ajax异步调用方法中不能给全局变量赋值的原因及解决方法
2014/01/10 Javascript
jQuery原理系列-常用Dom操作详解
2016/06/07 Javascript
Js删除数组中某一项或几项的几种方法(推荐)
2016/07/27 Javascript
Knockout结合Bootstrap创建动态UI实现产品列表管理
2016/09/14 Javascript
JavaScript使用Range调色及透明度实例
2016/09/25 Javascript
jQuery Mobile和HTML5开发App推广注册页
2016/11/07 Javascript
js获取隐藏元素的宽高
2017/02/24 Javascript
JS组件系列之MVVM组件构建自己的Vue组件
2017/04/28 Javascript
详细分析JS函数去抖和节流
2017/12/05 Javascript
vue解决使用webpack打包后keep-alive不生效的方法
2018/09/01 Javascript
nodejs图片处理工具gm用法小结
2018/12/12 NodeJs
JS/jQuery实现简单的开关灯效果【案例】
2019/02/19 jQuery
Node.js API详解之 util模块用法实例分析
2020/05/09 Javascript
[03:13]DOTA2-DPC中国联赛1月25日Recap集锦
2021/03/11 DOTA
python实现的文件同步服务器实例
2015/06/02 Python
利用Django模版生成树状结构实例代码
2019/05/19 Python
在Django下测试与调试REST API的方法详解
2019/08/29 Python
python GUI库图形界面开发之PyQt5 UI主线程与耗时线程分离详细方法实例
2020/02/26 Python
在django项目中导出数据到excel文件并实现下载的功能
2020/03/13 Python
使用keras根据层名称来初始化网络
2020/05/21 Python
基于PyTorch的permute和reshape/view的区别介绍
2020/06/18 Python
Html5+CSS3+EL表达式问题小结
2020/12/19 HTML / CSS
如果有两个类A,B,怎么样才能使A在发生一个事件的时候通知B
2016/03/12 面试题
租房协议书样本
2014/08/20 职场文书
故宫英文导游词
2015/01/31 职场文书
教师工作证明范本
2015/06/12 职场文书
基于Pygame实现简单的贪吃蛇游戏
2021/12/06 Python
Nginx速查手册及常见问题
2022/04/07 Servers
讨论nginx location 顺序问题
2022/05/30 Servers