首页 > 编程语言 > 详细

python传参*和**的区别

时间:2019-09-09 22:01:28      阅读:156      评论:0      收藏:0      [点我收藏+]
  1. def f(*a),向def f(*a)是以tuple或者list的形式传输,在函数内部是以tuple的形式来进行处理,所以调用的时候,需要先组装出一个list或tuple,输入单个数字等按照tuple处理。定义可变参数和定义list或tuple参数相比,仅仅在参数前面加了一个*号。在函数内部,参数numbers接收到的是一个tuple,因此,函数代码完全不变。但是,调用该函数时,可以传入任意个参数,包括0个参数。
  2. 在 def f(**a)中,可变参数允许你传入0个或任意个参数,这些可变参数在函数调用时自动组装为一个tuple。而关键字参数允许你传入0个或任意个含参数名的参数,这些关键字参数在函数内部自动组装为一个dict。
  3. 两种类型简化处理方法:*a的形式
    >>> nums = [1, 2, 3]
    >>> calc(*nums)
    14

     

  4. **a的形式
    >>> kw = {city: Beijing, job: Engineer}
    >>> person(Jack, 24, **kw)
    name: Jack age: 24 other: {city: Beijing, job: Engineer}

    参考文章:https://www.cnblogs.com/gongyu2018/p/8805183.html

2019-09-09  21:17:54

python传参*和**的区别

原文:https://www.cnblogs.com/ybl20000418/p/11494324.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!