龙空技术网

软件测试学习笔记丨Python函数可变参数

霍格沃兹测试开发学社 112

前言:

目前你们对“python可变函数”可能比较关注,我们都需要学习一些“python可变函数”的相关资讯。那么小编也在网络上搜集了一些对于“python可变函数””的相关内容,希望小伙伴们能喜欢,大家快快来学习一下吧!

本文转自测试人社区,原文链接:python函数可变参数 - 学习笔记 - 测试人社区

1.可变参数 *args

*args作为形参,接收不确定个数的位置参数(*args将接收到的任意多实际参数放在元组中)

举例:

def fun(*args):    print(args)    print(*args) # 解包    print(type(args))    for i in args:        print(i)fun(1,2,3)

输出

(1, 2, 3)1 2 3<class 'tuple'>123
2.可变关键字参数 **kwargs

kwargs作为形参,接收不确定个数的关键字参数(*kwargs将接收到的任意多实际参数放在字典**中)

举例:

def fun(**kwargs):    print(kwargs)    # print(**kwargs) #会报错TypeError: 'a' is an invalid keyword argument for print()    print(*kwargs)  #对字典的key解包,结果为: a b c    for k,v in kwargs.items():        print(k,v)fun(a=1,b=2,c=3)

输出

{'a': 1, 'b': 2, 'c': 3}a 1b 2c 3
3.混合参数

当定义函数时,参数列表中出现了多种类型的参数,定义时需要注意参数的定义顺序,如果顺序使用不正确,在调用函数时,可能会报错。

正确顺序的定义为:位置参数,可变位置参数,默认值参数,可变关键字参数

def fun(name1,*args,age=1,**kwargs):   pass
软件测试开发免费视频教程分享 - 公众号 - 测试人社区

标签: #python可变函数 #python可变函数参数