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 13 Python
python脚本实现数据导出excel格式的简单方法(推荐)
Dec 30 Python
Python处理PDF及生成多层PDF实例代码
Apr 24 Python
使用python为mysql实现restful接口
Jan 05 Python
Python 判断文件或目录是否存在的实例代码
Jul 19 Python
opencv python 2D直方图的示例代码
Jul 20 Python
python去重,一个由dict组成的list的去重示例
Jan 21 Python
python爬虫 2019中国好声音评论爬取过程解析
Aug 26 Python
win10下安装Anaconda的教程(python环境+jupyter_notebook)
Oct 23 Python
python打印n位数“水仙花数”(实例代码)
Dec 25 Python
利用Tensorflow构建和训练自己的CNN来做简单的验证码识别方式
Jan 20 Python
解决python存数据库速度太慢的问题
Apr 23 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 异步执行方法,模拟多线程的应用分析
2013/06/03 PHP
php设计模式之单例模式使用示例
2014/01/20 PHP
Yii中CGridView禁止列排序的设置方法
2016/07/12 PHP
用Javascript实现Sleep暂停功能代码
2010/09/03 Javascript
解决遍历时Array.indexOf产生的性能问题
2012/07/03 Javascript
jquery设置text的值示例(设置文本框 DIV 表单值)
2014/01/06 Javascript
扩展jQuery对象时如何扩展成员变量具体怎么实现
2014/04/25 Javascript
js星星评分效果
2014/07/24 Javascript
轻松创建nodejs服务器(4):路由
2014/12/18 NodeJs
js 中获取制定的cook信息实现方法
2016/11/19 Javascript
JavaScript实现点击按钮复制指定区域文本(推荐)
2016/11/25 Javascript
详解如何在NodeJS项目中优雅的使用ES6
2017/04/22 NodeJs
JS获取浏览器地址栏的多个参数值的任意值实例代码
2018/07/24 Javascript
Angular 多级路由实现登录页面跳转(小白教程)
2019/11/19 Javascript
JS实现移动端双指缩放和旋转方法
2019/12/13 Javascript
python操作xml文件详细介绍
2014/06/09 Python
python实现的文件夹清理程序分享
2014/11/22 Python
利用python实现简单的邮件发送客户端示例
2017/12/23 Python
Python zip()函数用法实例分析
2018/03/17 Python
Python3 无重复字符的最长子串的实现
2019/10/08 Python
python创建学生成绩管理系统
2019/11/22 Python
Python AutoCAD 系统设置的实现方法
2020/04/01 Python
python爬虫用mongodb的理由
2020/07/28 Python
一些关于python 装饰器的个人理解
2020/08/31 Python
详解Python Celery和RabbitMQ实战教程
2021/01/20 Python
HTML5 localStorage使用总结
2017/02/22 HTML / CSS
7 For All Mankind官网:美国加州洛杉矶的高级牛仔服装品牌
2018/12/20 全球购物
十岁生日家长答谢词
2014/01/17 职场文书
经贸专业毕业生求职信范文
2014/05/01 职场文书
家庭贫困证明
2014/09/23 职场文书
毕业实习计划书
2015/01/16 职场文书
邮政营业员岗位职责
2015/04/14 职场文书
python如何在word中存储本地图片
2021/04/07 Python
详解如何在Canvas中添加事件的方法
2021/04/17 Javascript
Mybatis-Plus进阶分页与乐观锁插件及通用枚举和多数据源详解
2022/03/21 Java/Android
python读取mat文件生成h5文件的实现
2022/07/15 Python