详解Python的三种可变参数

yipeiwu_com7年前Python基础

可变参数

可变参数应该最简单,在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')

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

以上所述是小编给大家介绍的Python的三种可变参数详解整合,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对【听图阁-专注于Python设计】网站的支持!

相关文章

python traceback捕获并打印异常的方法

异常处理是日常操作了,但是有时候不能只能打印我们处理的结果,还需要将我们的异常打印出来,这样更直观的显示错误 下面来介绍traceback模块来进行处理 try: 1/0...

python matplotlib库直方图绘制详解

python matplotlib库直方图绘制详解

例题:假设你获取了250部电影的时长(列表a中),希望统计出这些电影时长的分布状态(比如时长为100分钟到120分钟电影的数量,出现的频率)等信息,你应该如何呈现这些数据? 一些概念及...

Python中pandas模块DataFrame创建方法示例

本文实例讲述了Python中pandas模块DataFrame创建方法。分享给大家供大家参考,具体如下: DataFrame创建 1. 通过列表创建DataFrame 2. 通过字典创...

python逐行读取文件内容的三种方法

方法一:复制代码 代码如下:f = open("foo.txt")          ...

python/sympy求解矩阵方程的方法

python/sympy求解矩阵方程的方法

sympy版本:1.2 假设求解矩阵方程 AX=A+2X 其中 求解之前对矩阵方程化简为 (A−2E)X=A 令 B=(A−2E) 使用qtconsole输入下...