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中MYSQLdb出现乱码的解决方法
Oct 11 Python
Python SQLite3简介
Feb 22 Python
对numpy.append()里的axis的用法详解
Jun 28 Python
详解python爬虫系列之初识爬虫
Apr 06 Python
基于Python的PIL库学习详解
May 10 Python
Python处理时间日期坐标轴过程详解
Jun 25 Python
python自动化测试之如何解析excel文件
Jun 27 Python
python编写简单端口扫描器
Sep 04 Python
基于python的itchat库实现微信聊天机器人(推荐)
Oct 29 Python
用python求一重积分和二重积分的例子
Dec 06 Python
python 进程池pool使用详解
Oct 15 Python
OpenCV-Python实现怀旧滤镜与连环画滤镜
Jun 09 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
ThinkPHP CURD方法之data方法详解
2014/06/18 PHP
PHP代码维护,重构变困难的4种原因分析
2016/01/25 PHP
使用PHP处理数据库数据如何将数据返回客户端并显示当前状态
2016/02/16 PHP
thinkPHP分页功能实例详解
2017/05/05 PHP
php变量与JS变量实现不通过跳转直接交互的方法
2017/08/25 PHP
php 多进程编程父进程的阻塞与非阻塞实例分析
2020/02/22 PHP
javascript算法题 求任意一个1-9位不重复的N位数在该组合中的大小排列序号
2012/07/21 Javascript
Jquery遍历checkbox获取选中项value值的方法
2014/02/13 Javascript
javascript实现抽奖程序的简单实例
2016/06/07 Javascript
JS实现iframe编辑器光标位置插入内容的方法(兼容IE和Firefox)
2016/06/24 Javascript
JavaScript正则表达式exec/g实现多次循环用法示例
2017/01/17 Javascript
Angularjs修改密码的实例代码
2017/05/26 Javascript
基于twbsPagination.js分页插件使用心得(分享)
2017/10/21 Javascript
Vue用v-for给循环标签自身属性添加属性值的方法
2018/10/18 Javascript
简单了解JavaScript异步
2019/05/23 Javascript
搭建Vue从Vue-cli到router路由护卫的实现
2019/11/14 Javascript
微信小程序复选框实现多选一功能过程解析
2020/02/14 Javascript
JS实现图片幻灯片效果代码实例
2020/05/21 Javascript
jQuery实现移动端下拉展现新的内容回弹动画
2020/06/24 jQuery
python比较两个列表大小的方法
2015/07/11 Python
python实现网站的模拟登录
2016/01/04 Python
python difflib模块示例讲解
2017/09/13 Python
python中的文件打开与关闭操作命令介绍
2018/04/26 Python
python基于物品协同过滤算法实现代码
2018/05/31 Python
解决PyCharm无法使用lxml库的问题(图解)
2020/12/22 Python
Columbia美国官网:美国著名的户外服装品牌
2016/11/24 全球购物
小橄榄树:Le Petit Olivier
2018/04/23 全球购物
Spartoo瑞典:鞋子、包包和衣服
2018/09/15 全球购物
Cult Gaia官网:美国生活方式品牌
2019/08/16 全球购物
警察正风肃纪剖析材料
2014/10/16 职场文书
2015公司年度工作总结
2015/05/14 职场文书
队列队形口号
2015/12/25 职场文书
《天使的翅膀》读后感3篇
2019/12/20 职场文书
Python上下文管理器Content Manager
2021/06/26 Python
使用vue判断当前环境是安卓还是IOS
2022/04/12 Vue.js
ubuntu20.04虚拟机无法上网的问题及解决
2022/12/24 Servers