当前位置:   article > 正文

python中的*args与**kwargs的含义与作用

*args和**kwargs的作用

一、*args与**kwargs介绍

  1. *args是非关键字参数,用于元组,**kwargs是关键字参数 (字典)
  2. 也就是说args表示任何多个无名参数,然而kwags表示一个一个有着对应关系的关键字参数,
  3. 在使用的时候需要注意,*args要在**kwags之前,不然会发生语法错误

二、args使用案例和kwargs使用案例

  1. # coding=utf-8
  2. """
  3. @project: panglu_test_59
  4. @Author:gaojs
  5. @file: test017.py
  6. @date:2022/7/13 14:00
  7. @blogs: https://www.gaojs.com.cn
  8. """
  9. def arg_test(a, b, c, d, arg):
  10. """
  11. arg练习
  12. """
  13. print(a, b, c, d, arg)
  14. def args_test(a, b, *args):
  15. """
  16. *args练习
  17. """
  18. print(a, b, args)
  19. print(type(args))
  20. def kwargs_test(**kwargs):
  21. """
  22. *args练习
  23. """
  24. print(kwargs, type(kwargs))
  25. def args_kwargs_test(arg, arg1, *args, **kwargs):
  26. """
  27. *args练习
  28. """
  29. print(arg, arg1, args, kwargs)
  30. if __name__ == '__main__':
  31. # arg练习
  32. arg_test(1, 2, 3, 4, 444)
  33. # args练习
  34. args_test(6, 5, 55, 798, 5456)
  35. # kwargs练习:结果是字典
  36. kwargs_test(a=1, b=2, c=3, d=4)
  37. # 混合练习
  38. args_kwargs_test(1, 2, 3, 4, 5, 6, a=7, b=8, c=9)

输出结果:

  1. E:\panglu_test_59\venv\Scripts\python.exe E:/panglu_test_59/test017.py
  2. 1 2 3 4 444
  3. 6 5 (55, 798, 5456)
  4. <class 'tuple'>
  5. {'a': 1, 'b': 2, 'c': 3, 'd': 4} <class 'dict'>
  6. 1 2 (3, 4, 5, 6) {'a': 7, 'b': 8, 'c': 9}
  7. Process finished with exit code 0
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/很楠不爱3/article/detail/588903
推荐阅读
相关标签
  

闽ICP备14008679号