时间:2021-05-22
在定义函数的时候参数通常会使用
*args与**kwgs,形参与实参的区别不再赘述,我们来解释一下这两个的作用。
*args是非关键字参数,用于元组,**kw是关键字参数
例如下面的代码
def foo(*args,**kwargs): print 'args is',args print 'kwargs is',kwargsfoo(1,2)foo(k=1,w=2,a=3,r=4,g=5,s=6)foo(1,2,a=1,b=2,c=2)foo('a',1,None,a=1,b='2',c=3)在函数foo中定义了两个参数
在调用的时候,传递参数,最后的结果如下
args is (1, 2)kwargs is {}args is ()kwargs is {'a': 3, 'g': 5, 'k': 1, 's': 6, 'r': 4, 'w': 2}args is (1, 2)kwargs is {'a': 1, 'c': 2, 'b': 2}args is ('a', 1, None)kwargs is {'a': 1, 'c': 3, 'b': '2'}在其中args为一个元组而kwags是一个字典类型。
这两个作为python的可变参数,也就是说args表示任何多个无名参数,然而kwags表示一个一个有着对应关系的关键字参数。
在使用的时候需要注意,*args要在**kwags之前,不然会发生语法错误。
以上这篇对python中的*args与**kwgs的含义与作用详解就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持。
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
Python函数可变参数定义及其参数传递方式详解python中函数不定参数的定义形式如下1、func(*args)传入的参数为以元组形式存在args中,如:de
详解objective-c中interface与protocol的作用以前对Objective-C中的interface,即头文件的作用一直不太清楚。最近看了一
详解Python中LEGB和闭包及装饰器LEGBL>E>G?BL:local函数内部作用域E:enclosing函数内部与内嵌函数之间G:global全
Python中迭代器与生成器实例详解本文通过针对不同应用场景及其解决方案的方式,总结了Python中迭代器与生成器的一些相关知识,具体如下:1.手动遍历迭代器应
Python是静态作用域语言,尽管它自身是一个动态语言。也就是说,在Python中变量的作用域是由它在源代码中的位置决定的,这与C有些相似,但是Python与C