博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
python 中的 args,*args,**kwargs的区别
阅读量:6829 次
发布时间:2019-06-26

本文共 852 字,大约阅读时间需要 2 分钟。

 

一、*args的使用方法

*args 用来将参数打包成tuple给函数体调用

例子一:

def function(*args):
      print(args, type(args))
function(2)
---->
(2,) <class 'tuple'>

扩展实例

def func(*args):
      print(args,type(args))
func(1,2,3,4,5)
---->
(1, 2, 3, 4, 5) <class 'tuple'>

例子二:
def function(x, y, *args):
      print(x, y, args)

function(1, 2, 3, 4, 5,6,7,8)

---->
(3, 4, 5, 6, 7, 8) <class 'tuple'>

 

二、**kwargs的使用方法

**kwargs 打包关键字参数成dict给函数体调用

例子一:

def func(**kwargs):
      print(kwargs,type(kwargs))
func(a=2)
---->
{'a': 2} <class 'dict'>

例子二:

def function(**kwargs):

      print(kwargs)
function(a=1, b=2, c=3)
---->
{'a': 1, 'b': 2, 'c': 3} <class 'dict'>

三、总结:参数arg、*args、**kwargs三个参数的位置必须是一定的。必须是(arg,*args,**kwargs)这个顺序。

def function(arg,*args,**kwargs):
      print(arg,args,kwargs)
function(6,7,8,9,a=1, b=2, c=3)
---->
6 (7, 8, 9) {'a': 1, 'b': 2, 'c': 3}

转载于:https://www.cnblogs.com/kaishirenshi/p/8610662.html

你可能感兴趣的文章
android-support-v7-appcompat的配置使用
查看>>
LINUX的STRACE命令用法 [转]
查看>>
[4] 圆锥(Cone)图形的生成算法
查看>>
[16] 螺旋面(Spire)图形的生成算法
查看>>
Linux内存管理之bootmem分配器
查看>>
谈谈Flash图表中数据的采集
查看>>
C语言字符串匹配函数
查看>>
【c++】explicit 隐式类类型转换
查看>>
Android中GridView使用总结
查看>>
Win Socket编程原理及简单实例
查看>>
使IIS Express支持其他网络客户端访问
查看>>
Shell:sed流编辑器
查看>>
XOCDE5开发
查看>>
Actionbarsherlock 简明教程
查看>>
Windows 8.1 新增控件之 DatePicker
查看>>
微信利用PHP创建自定义菜单的方法
查看>>
计算机是如何启动的?
查看>>
Origami
查看>>
初试ASP.NET Web API/MVC API(附Demo)
查看>>
人脸识别算法初次了解
查看>>