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入门教程之if语句的用法
May 14 Python
Python匹配中文的正则表达式
May 11 Python
用python写个自动SSH登录远程服务器的小工具(实例)
Jun 17 Python
Python获取当前公网ip并自动断开宽带连接实例代码
Jan 12 Python
Python SQLite3简介
Feb 22 Python
python使用tornado实现简单爬虫
Jul 28 Python
Django2.1集成xadmin管理后台所遇到的错误集锦(填坑)
Dec 20 Python
Pandas读取并修改excel的示例代码
Feb 17 Python
Python流程控制语句的深入讲解
Jun 15 Python
Python使用pycharm导入pymysql教程
Sep 16 Python
5款实用的python 工具推荐
Oct 13 Python
使用Python封装excel操作指南
Jan 29 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
亚洲咖啡有什么?亚洲咖啡产地介绍 亚洲咖啡有什么特点?
2021/03/05 新手入门
一个没有MYSQL数据库支持的简易留言本的编写
2006/10/09 PHP
Discuz! Passport 通行证整合
2008/03/27 PHP
用PHP编写和读取XML的几种方式
2013/01/12 PHP
如何让CI框架支持service层
2014/10/29 PHP
javascript 同时在IE和FireFox获取KeyCode的代码
2010/02/07 Javascript
JQuery 文本框回车跳到下一个文本框示例代码
2013/08/30 Javascript
jQuery实现左右切换焦点图
2015/04/03 Javascript
javascript常用正则表达式汇总
2015/07/31 Javascript
JavaScript简单实现弹出拖拽窗口(一)
2016/06/17 Javascript
详解ECMAScript6入门--Class对象
2017/04/27 Javascript
angular 用拦截器统一处理http请求和响应的方法
2017/06/08 Javascript
Angular弹出模态框的两种方式
2017/10/19 Javascript
jquery css实现流程进度条
2020/03/26 jQuery
[00:56]PWL开团时刻DAY8——追追追追追!
2020/11/09 DOTA
TensorFlow数据输入的方法示例
2018/06/19 Python
对Python 数组的切片操作详解
2018/07/02 Python
python 文件转成16进制数组的实例
2018/07/09 Python
用python统计代码行的示例(包括空行和注释)
2018/07/24 Python
提升Python程序性能的7个习惯
2019/04/14 Python
python的一些加密方法及python 加密模块
2019/07/11 Python
Pandas透视表(pivot_table)详解
2019/07/22 Python
python如何求数组连续最大和的示例代码
2020/02/04 Python
python中判断文件结束符的具体方法
2020/08/04 Python
Python爬虫后获取重定向url的两种方法
2021/01/19 Python
HTML页面中添加Canvas标签示例
2015/01/01 HTML / CSS
巴西电子产品购物网站:Saldão da Informática
2018/01/09 全球购物
SneakerStudio英国:最佳运动鞋商店
2019/05/22 全球购物
英国门销售网站:Green Tree Doors
2020/01/07 全球购物
党支部三严三实对照检查材料思想汇报
2014/09/29 职场文书
诉讼授权委托书范本
2014/10/05 职场文书
退学证明范本3篇
2014/10/29 职场文书
六年级学生期末评语
2014/12/26 职场文书
个人股份转让协议书范本
2015/01/28 职场文书
vue3语法糖内的defineProps及defineEmits
2022/04/14 Vue.js
浅谈为什么我的 z-index 又不生效了
2022/07/15 HTML / CSS