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实现根据窗口标题调用窗口的方法
Mar 13 Python
在Python中使用M2Crypto模块实现AES加密的教程
Apr 08 Python
简单谈谈Python的pycurl模块
Apr 07 Python
学习和使用python的13个理由
Jul 30 Python
python接口调用已训练好的caffe模型测试分类方法
Aug 26 Python
详解在Python中以绝对路径或者相对路径导入文件的方法
Aug 30 Python
Django实现auth模块下的登录注册与注销功能
Oct 10 Python
Django框架HttpRequest对象用法实例分析
Nov 01 Python
Python高并发解决方案实现过程详解
Jul 31 Python
Flask缓存静态文件的具体方法
Aug 02 Python
详解python命令提示符窗口下如何运行python脚本
Sep 11 Python
python制作微博图片爬取工具
Jan 16 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准确取得服务器IP地址的方法
2015/06/02 PHP
Nigma vs Alliance BO5 第五场2.14
2021/03/10 DOTA
一些javascript一些题目的解析
2010/12/25 Javascript
JS中动态添加事件(绑定事件)的代码
2011/01/09 Javascript
Javascript this 的一些学习总结
2012/08/02 Javascript
滚动图片效果 jquery实现回旋滚动效果
2013/01/08 Javascript
jquery中的事件处理详细介绍
2013/06/24 Javascript
使用js判断TextBox控件值改变然后出发事件
2014/03/07 Javascript
JavaScript中最简洁的编码html字符串的方法
2014/10/11 Javascript
Node.js异步I/O学习笔记
2014/11/04 Javascript
微信小程序 wxapp内容组件 progress详细介绍
2016/10/31 Javascript
vue.js开发实现全局调用的MessageBox组件实例代码
2017/11/22 Javascript
element ui里dialog关闭后清除验证条件方法
2018/02/26 Javascript
react-native android状态栏的实现
2018/06/15 Javascript
微信小程序获取用户信息的两种方法wx.getUserInfo与open-data实例分析
2019/05/03 Javascript
python条件和循环的使用方法
2013/11/01 Python
python 实现删除文件或文件夹实例详解
2016/12/04 Python
python生成ppt的方法
2018/06/07 Python
PyQT实现菜单中的复制,全选和清空的功能的方法
2019/06/17 Python
使用python来调用CAN通讯的DLL实现方法
2019/07/03 Python
pycharm 关闭search everywhere的解决操作
2021/01/15 Python
CSS3实现圆角、阴影、透明效果并兼容各大浏览器
2014/08/08 HTML / CSS
调用HTML5的Canvas API绘制图形的快速入门指南
2016/06/17 HTML / CSS
美国内衣品牌:Leonisa
2016/08/14 全球购物
荷兰优雅女装网上商店:Heine
2016/11/14 全球购物
蒙蒂塞罗商店:Monticello Shop
2018/11/25 全球购物
捷克母婴用品购物网站:Feedo.cz
2020/12/28 全球购物
个人自我鉴定
2013/11/07 职场文书
酒店个人求职信范文
2014/01/25 职场文书
入党介绍人评语
2014/05/06 职场文书
公开承诺书格式
2014/05/21 职场文书
令人印象深刻的自荐信
2014/05/25 职场文书
2014镇党委班子对照检查材料思想汇报
2014/09/23 职场文书
党的群众路线教育实践活动实施方案
2014/10/31 职场文书
优秀大学生自荐信
2015/03/26 职场文书
JS setTimeout与setInterval的区别
2022/04/20 Javascript