Python的三种可变参数

Posted qbdj

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Python的三种可变参数相关的知识,希望对你有一定的参考价值。

初学python没多久,对python中函数的可变参数有点头晕,查阅了stackflow,现总结一下
可变参数

可变参数应该最简单,在C/C++和Java等语言中都有,就是用*号来表示,例如

 def testArg(*arg)


你可以传入任意多个元素(包括0)到参数中,在函数内部会自动认为是一个元组或列表

关键字参数

关键字参数在python中习惯用**kw表示,可以传入0到任意多个“关键字-值”,参数在函数内部被当做一个字典结构。例如

 def testArg(**kw)
 def testArg(city,**kw)


可以这样调用他

 testArg(name=‘John‘,job=‘hoker‘)
 testArg(‘beijin‘,name=‘john‘)

 

关键字参数可以用来后期扩充函数的功能,例如:先设定必要的参数,之后选择性的增加可选参数。

命名关键字参数

采用命名关键字参数可以限制函数传入的关键字参数,定义如下:

 def testArg(city,name,*,age,job)

  

可以这样调用他

 testArg(‘beijin‘,‘wfp‘,age=‘25‘,job=‘hoker‘)
 testArg(‘beijin‘,‘wfp‘,addr=‘shanghai‘,age=‘25‘,job=‘hoker‘)


但是不能这样调用他

 testArg(‘beijin‘,‘wfp‘,‘25‘,job=‘hoker‘)

会提示缺少一个参数,定义了命名关键字参数的话,必须要把全部的关键字参数传入进去


原文:https://blog.csdn.net/a2211455/article/details/53928870

以上是关于Python的三种可变参数的主要内容,如果未能解决你的问题,请参考以下文章

python之函数基础

Python 解析参数的三种方法

命令行运行Python脚本时传入参数的三种方式

Python中的三种数据结构

命令行运行Python脚本时传入参数的三种方式

Python语言命令行参数解析接收参数执行脚本的三种方法