使用SoapUI测试webservice接口详细步骤
512
2022-09-02
Python中*args 和**kwargs的用法(python中*args和**kwargs的区别)
刚开始学习python,觉得args、**kwargs参数很难理解。 大概知道args是解包元组,**kwargs是解包字典,但是仅仅知道这点,还是不会使用这两个参数。
# *args参数的使用# 计算除第一个参数外所有参数之和def calculate_sum(*args): # args是一个元组 return sum(args) # 使用内建函数’sum’,它使用元组或数列作为参数,返回元组所有元素的和。def ignore_first_calculate_sum(a,*iargs): # 第一个参数被常规参数’a’接收,其他参数被’iargs’作为元组接收 required_sum = calculate_sum(*iargs) print("sum is ", required_sum)def test_sum(): ignore_first_calculate_sum(1,*(2,3,4,5,6)) ''' 用到函数’calculate_sum’,’calculate_sum’需要多个位置参数作为元组传给’args’, 所以在函数’ignore_first_calculate_sum’需要拆元组’iargs’,然后将元素作为位置参数传给’calculate_sum’。 注意,用’*’拆元组 '''
def fun(a,**kwargs): print('a is :',a) print("We expect kwargs 'b' and 'c' in this function") print("b is ", kwargs['b']) print("c is ", kwargs['c'])def test_kwargs(): fun(1,b=3,c=44) ''' fun(1, {'b':2, 'c':34}),这样调用会报错:ypeError: fun() takes exactly 1 argument (2 given) 尽管’kwargs’接收键值参数作为一个字典,但你不能传一个字典作为位置参数给’kwargs’ 可以这样调用:fun(1, **{'b':2, 'c':34}) 在一个字典前使用”**”可以unpack字典,传字典中的数据项作为键值参数。 '''
todo
版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。
发表评论
暂时没有评论,来抢沙发吧~