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列表与元组详解实例
Nov 01 Python
使用python 获取进程pid号的方法
Mar 10 Python
Python中shutil模块的常用文件操作函数用法示例
Jul 05 Python
Python常用库推荐
Dec 04 Python
Django视图之ORM数据库查询操作API的实例
Oct 27 Python
对python的文件内注释 help注释方法
May 23 Python
利用pyinstaller打包exe文件的基本教程
May 02 Python
Python3内置模块random随机方法小结
Jul 13 Python
用python写一个定时提醒程序的实现代码
Jul 22 Python
Python使用matplotlib 模块scatter方法画散点图示例
Sep 27 Python
Python爬虫UA伪装爬取的实例讲解
Feb 19 Python
python3中apply函数和lambda函数的使用详解
Feb 28 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调用Oracle存储过程
2006/10/09 PHP
使用apache模块rewrite_module (转)
2007/02/14 PHP
php文件怎么打开 如何执行php文件
2011/12/21 PHP
Yii实现多数据库主从读写分离的方法
2014/12/29 PHP
laravel框架分组控制器和分组路由实现方法示例
2020/01/25 PHP
利用jquery的获取JS文件中的字符串内容
2012/02/14 Javascript
jquery ajax属性async(同步异步)示例
2013/11/05 Javascript
showModalDialog在谷歌浏览器下会返回Null的解决方法
2013/11/27 Javascript
jQuery大于号(&gt;)选择器的作用解释
2015/01/13 Javascript
js实现字符串转日期格式的方法
2015/05/20 Javascript
JavaScript+CSS实现仿Mootools竖排弹性动画菜单效果
2015/10/14 Javascript
学习JavaScript设计模式(接口)
2015/11/26 Javascript
详细分析Javascript中创建对象的四种方式
2016/08/17 Javascript
PhotoSwipe异步动态加载图片方法
2016/08/25 Javascript
初识简单却不失优雅的Vue.js
2016/09/12 Javascript
AngularJS实现使用路由切换视图的方法
2017/01/24 Javascript
vue 通过下拉框组件学习vue中的父子通讯
2017/12/19 Javascript
小程序清理本地缓存的方法
2018/08/17 Javascript
微信小程序实现带放大效果的轮播图
2020/05/26 Javascript
three.js如何实现3D动态文字效果
2021/03/03 Javascript
Python探索之修改Python搜索路径
2017/10/25 Python
python版百度语音识别功能
2019/07/09 Python
Django上线部署之IIS的配置方法
2019/08/22 Python
Python timer定时器两种常用方法解析
2020/01/20 Python
基于Python获取照片的GPS位置信息
2020/01/20 Python
python实现飞船游戏的纵向移动
2020/04/24 Python
Python Dict找出value大于某值或key大于某值的所有项方式
2020/06/05 Python
python实现发送带附件的邮件代码分享
2020/09/22 Python
Python的信号库Blinker用法详解
2020/12/31 Python
办公自动化专业大学生职业规划书
2014/03/06 职场文书
服务行业口号
2014/06/11 职场文书
KTV门卫岗位职责
2014/10/09 职场文书
走进科学观后感
2015/06/18 职场文书
小学五年级班主任工作经验交流材料
2015/11/02 职场文书
2019安全宣传标语大全
2019/08/14 职场文书
用python画城市轮播地图
2021/05/28 Python