python 函数参数列表_Python 函数可变参数列表*args和**kwargs
发布日期:2021-10-27 12:03:51 浏览次数:3 分类:技术文章

本文共 1186 字,大约阅读时间需要 3 分钟。

许多语言都支持可变参数列表,python也不例外。python的可变参数列表有点不太一样,有两种类型的可变参数列表,一种是元组,一种是字典。

一,元组参数列表:

(1)函数定义形式:def func(a, b, *args)。这种情况下,形参args是一个元组。函数调用时将多余的参数组合起来,形成一个元组,赋值给args。args就是这些多余参数的元组。代码示例如下:

importos, sys

deffunc(a, b, *args):

print(args)

if__name__ == '__main__':

func(10, 20, 'hello', 'world', 100)

结果如下:

('hello', 'world', 100)

(2)函数调用形式:func(a, *args)。这种情况下,实参args是一个元组。函数调用时将元组拆开,每参数对应赋值给形参。代码示例如下:

importos, sys

deffunc(a, b, c, d):

print(a, b, c, d)

if__name__ == '__main__':

args = (2, 3, 4)

func(1, *args)

结果如下:

(1, 2, 3, 4)

二,字典参数列表:

(1)函数定义形式:def func(a, b, **kwargs)。这种情况下,形参kwargs是一个字典。函数调用时将多余的参数组合起来,形成一个字典,赋值给kwargs。kwargs就是这些多余参数的字典。代码示例如下:

importos, sys

deffunc(a, b, **kwargs):

print(kwargs)

if__name__ == '__main__':

func(1, 2, x= 3, y= 'Good', z= 'Morning')

结果如下:

{'y': 'Good', 'x': 3, 'z': 'Morning'}

(2)函数调用形式:func(a, **kwargs)。这种情况下,实参kwargs是一个元组。函数调用时将元组拆开,每参数对应赋值给形参。代码示例如下:

importos, sys

deffunc(a, b, x, y, z):

print(a, b, x, y, z)

if__name__ == '__main__':

kwargs = {'x':3, 'y':4, 'z':5}

func(1, 2, **kwargs)

结果如下:

(1, 2, 3, 4, 5)

总结如下:

Python的可变参数*args 如果用在函数定义中,则args是元组的组合过程;如果用在函数调用中,则args是元组的分解过程。**kwargs如果用在函数定义中,则kwargs是字典的组合过程;如果用在函数调用中,则kwargs是字典的分解过程。

转载地址:https://blog.csdn.net/weixin_34620658/article/details/113965140 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!

上一篇:java 创建线程_Java创建线程的两种方式
下一篇:MySQL查询任课老师所在系_查询数据库系统课程的任课教师。

发表评论

最新留言

不错!
[***.144.177.141]2024年04月03日 02时49分11秒