码迷,mamicode.com
首页 > 编程语言 > 详细

python函数参数*args **kwargs

时间:2018-05-17 18:22:11      阅读:355      评论:0      收藏:0      [点我收藏+]

标签:内容   class   c++   col   span   就是   元组   函数参数   关键字   

毕业多年,把C++都就饭吃了。。。。今天居然在纠结什么是形参什么是实参。。。。。

定义函数里面写的参数就是形参,因为没有内存占用,实际调用时写的参数就是实参,因为有内存占用和传值

然后就是位置参数,可变参数和关键字参数

def foo(a,*b,**c):
    print(a)
    print(b)
    print(c)


if __name__=="__main__":
    foo(1,2,3,4,k=1,g=2)

如上图程序,a,*b,**c这三个是形参,a,*b这两个是位置参数,**c是关键字参数,同时*b,**c这两个是可变参数

1,2,3,4,k=1,g=2这几个是实参,1,2,3,4是位置参数;k=1,g=2是关键字参数;1赋值给a;2,3,4以元组的形式赋值给*b;k=1,g=2以字典的形式付给**c

输出是这样子的

1
(2, 3, 4)
{g: 2, k: 1}

所以fun(*args,**kwargs)中

*args:(表示的就是将实参中按照位置传值,多出来的值都给args,且以元组的方式呈现)

**kwargs:(表示的就是按照关键字把传值以字典的方式呈现)

这里要注意,**kwargs所传的关键字内容可以是值(数值、列表、元组、字典等)可以是函数,也可以是类

python函数参数*args **kwargs

标签:内容   class   c++   col   span   就是   元组   函数参数   关键字   

原文地址:https://www.cnblogs.com/mghhzAnne/p/9052220.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!