python 参数传递

参数顺序:位置参数-》默认参数-》可变参数-》关键字参数
可变参数和关键字参数有打包和解包的功能,可变参数(*args)将未命名的参数打包成元组类型,(**kwargs)将命名的参数打包成字典类型

def test2(a,b,*args,**kwargs):2     print("--test2--")3     print(a)4     print(b)5     print(args)6     print(kwargs)7 8 9 def test1(a,b,*args,**kwargs):10     print("--test1--")11     print(a)12     print(b)13     print(args)14     print(kwargs)#test2(a,b,args,kwargs) 相当于test2(11,22,(33,44),{name="zhangsan",age="12"})#test2(a,b,*args,kwargs)相当于test2(11,22,33,44,{"name":"zhangsan","age":"12"})15     test2(a,b,*args,**kwargs)#相当于test2(11,22,33,44,name="zhangsan",age="12")16 17 test1(11,22,33,44,name="zhangsan",age= "12")
~                                                

输出结果
调用test1 时 将按位置参数,默认参数,可变参数和关键字参数一次传入,在test1中调用test2时,如果要原封不动的传参,就需要对可变参数和关键字参数进行解包。

python args和kwargs相关推荐

  1. python *args和**kwargs以及序列解包

    DAY 8. *args和**kwargs *args:多值元组,**kwargs多值字典,他们是python函数传参时两个特殊的参数,args和kwargs并不是强制的,但习惯使用这两个,如果在函数 ...

  2. python * args和** kwargs的用法

    所属网站分类: python基础 > 函数 作者:慧雅 链接: http://www.pythonheidong.com/blog/article/18/ 来源:python黑洞网 www.py ...

  3. Python - *args and **kwargs

    分享一个大牛的人工智能教程.零基础!通俗易懂!风趣幽默!希望你也加入到人工智能的队伍中来!请点击人工智能教程 The syntax is the * and **. The names *args a ...

  4. python *args和**kwargs详解

    一.使用场景 在定义类或函数时,以下场景会用到*args和**kwargs,前者叫位置参数,后者叫关键字参数 不确定传入参数的数量或形式 不关心传入参数的数量或形式(此时该类或函数多作为一个中间件的角 ...

  5. python 中*args 和 **kwargs的区别

    *args的用法 当你不确定你的函数里将要传递多少参数时你可以用*args.例如,它可以传递任意数量的参数: def print_everything(*args):for count, thing ...

  6. Python中*args和**kwargs的区别

    https://www.cnblogs.com/yunguoxiaoqiao/p/7626992.html (注:本文部分内容摘自互联网,由于作者水平有限,不足之处,还望留言指正.) 中秋的夜,微凉, ...

  7. Python中*args 和**kwargs的用法探讨

    当函数的参数不确定时,可以使用*args 和**kwargs,*args 没有key值,**kwargs有key值.不确定的意思可以是有,有几个,也可以是没有 *args可以当作可容纳多个变量组成的l ...

  8. Python中的*args和**kwargs是什么?该如何使用?

    2020-01-16 12:30:00 全文共2911字,预计学习时长9分钟 来源:Pexels 在编程中,函数就是生命! 作为使用Python的新手--无论是编程新手,还是熟悉另一语言的人--都需要 ...

  9. python的认识_理解 Python 中的 *args 和 **kwargs

    Python是支持可变参数的,最简单的方法莫过于使用默认参数,例如: def test_defargs(one, two = 2): print 'Required argument: ', one ...

最新文章

  1. win10系统优化计算机,全面优化win10电脑系统详细教程 | 专业网吧维护
  2. 12/12 day06
  3. Linux_文件系统磁盘分区
  4. android x86 笔记本卡屏,笔记本死机卡屏怎么办
  5. android studio安装教程完整,Android Studio 安装配置方法完整教程【小白秒懂】
  6. Cesium:修改点击显示的infoBox内容
  7. VisualSVN 破解方法
  8. 信息论与编码冯桂周林著答案_信息论与编码(信息与通信工程高等学校电子信息类专业系列教材)...
  9. 哈利波特3 阿兹卡班的囚徒
  10. 微信小程序的图片预加载处理
  11. 气味生意:躲得过老铁和网易云,但躲不过呼吸
  12. Voxelization 三维模型体素化
  13. 小狗钱钱 的读书笔记
  14. 微信公众号红包营销系统开发
  15. OpenCV - C++ - cv::Scalar
  16. mac 重命名文件快捷键
  17. 敲完第一万行代码我发现一个秘密
  18. C#调用TSC条码打印机打印条码
  19. win7下安装MyGeneration提示mdac找不到
  20. php 请求 响应,PHP 取得服务器响应一个 HTTP 请求所发送的所有标头

热门文章

  1. SQL语句优化——结合书籍论坛小结
  2. java 全局变量线程安全_Java中的线程安全全局变量
  3. EXCEL插件-图表[2]-使用Excel地图插件制作行政区标注地图
  4. linux卸载python3_linux卸载python3
  5. unity的C#学习——foreach循环相关:IEnumerable接口、LINQ语言集成查询、可枚举对象与枚举类型
  6. Unity中遍历大量的数据
  7. 普通人可以自己直接制作APP吗?自己能做好App吗?
  8. 固件解包--binwalk分析
  9. windows下编译opencv+opencv_contrid的Android版本
  10. win7升级为Win10 10586版本,出现应用商店打不开的解决办法