函数的几种参数类型
让我们来看一个代码吧
def func_test(a,b,c=5,*args,**kwargs):
print(a)
print(b)
print©
print(args)
print(kwargs)
func_test(5,6,7,8,9,10,a1=1,b1=2,gender=‘M’, job=‘Engineer’)
这个是打印出来的结果
注意点如下。
在平时操作的过程中遇到了以下坑
def func3(**kwargs):
print("kwargs:", kwargs)
func3(a=999,b=222,c=33)
func3(case_id=1, method=‘post’, url=’/member/login’, data=‘123’)
#这样会报错
func3(”case_id”=1, “method”=‘post’, “url”=’/member/login’, “data”=‘123’)
但是如果把对应的参数""拿掉正常
所以我们在碰到参数类型如果是字典格式,那么可以通过拆包的方式进行
dic2 = {‘case_id’: 1, ‘method’: ‘post’, ‘url’: ‘/member/login’, ‘data’: ‘123’, ‘actual’: ‘不通过’, ‘excepted’: ‘通过’}
def Test(case_id, url, data, method, excepted, actual):
print(case_id)
print(url)
print(data)
print(method)
print(excepted)
print(actual)
Test(**dic2)