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学习笔记之os模块使用总结
Nov 03 Python
Python中exit、return、sys.exit()等使用实例和区别
May 28 Python
python抓取网站的图片并下载到本地的方法
May 22 Python
Pycharm 设置自定义背景颜色的图文教程
May 23 Python
详解pandas安装若干异常及解决方案总结
Jan 10 Python
对Python之gzip文件读写的方法详解
Feb 08 Python
Python IDE Pycharm中的快捷键列表用法
Aug 08 Python
浅谈pytorch、cuda、python的版本对齐问题
Jan 15 Python
如何利用python读取micaps文件详解
Oct 18 Python
Python中用xlwt制作表格实例讲解
Nov 05 Python
jupyter使用自动补全和切换默认浏览器的方法
Nov 18 Python
python 制作一个gui界面的翻译工具
May 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 sprintf()函数用例解析
2011/05/18 PHP
php mysql 判断update之后是否更新了的方法
2012/01/10 PHP
PHP和JAVA中的重载(overload)和覆盖(override) 介绍
2012/03/01 PHP
php使用curl发送json格式数据实例
2013/12/17 PHP
php利用header函数下载各种文件
2016/08/24 PHP
会自动逐行上升的文本框
2006/06/30 Javascript
wordpress之js库集合研究介绍
2007/08/17 Javascript
JQuery入门——用映射方式绑定不同事件应用示例
2013/02/05 Javascript
Node.js中调用mysql存储过程示例
2014/12/20 Javascript
javascript中checkbox使用方法简单实例演示
2015/11/17 Javascript
前端性能优化及技巧
2016/05/06 Javascript
javascript实现滚动效果的数字时钟实例
2016/07/21 Javascript
Vue实现双向绑定的方法
2016/12/22 Javascript
Bootstrap 过渡效果Transition 模态框(Modal)
2017/03/17 Javascript
JS模拟实现ECMAScript5新增的数组方法
2017/03/20 Javascript
js与jQuery实现的用户注册协议倒计时功能实例【三种方法】
2017/11/09 jQuery
JavaScript常用截取字符串的三种方式用法区别实例解析
2018/05/15 Javascript
Vue实现移动端左右滑动效果的方法
2018/11/27 Javascript
vue favicon设置以及动态修改favicon的方法
2018/12/21 Javascript
Vue+abp微信扫码登录的实现代码示例
2020/01/06 Javascript
JS实现密码框效果
2020/09/10 Javascript
[01:11:15]VGJ.S vs Secret 2018国际邀请赛小组赛BO2 第一场 8.16
2018/08/17 DOTA
python远程登录代码
2008/04/29 Python
wxPython定时器wx.Timer简单应用实例
2015/06/03 Python
Python的Django框架可适配的各种数据库介绍
2015/07/15 Python
Ubuntu 下 vim 搭建python 环境 配置
2017/06/12 Python
在python中以相同顺序shuffle两个list的方法
2018/12/13 Python
Booking.com英国官网:全球酒店在线预订网站
2018/04/21 全球购物
联想韩国官网:Lenovo Korea
2018/05/10 全球购物
客户代表实习人员自我鉴定
2013/09/27 职场文书
服务标语口号
2014/07/01 职场文书
4s店活动策划方案
2014/08/25 职场文书
学校党委干部个人对照检查材料思想汇报
2014/10/09 职场文书
本溪水洞导游词
2015/02/11 职场文书
2015年学校教育教学工作总结
2015/04/22 职场文书
MySQL系列之十二 备份与恢复
2021/07/02 MySQL