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

举报
建帅小伙儿 发表于 2022/09/25 01:52:53 2022/09/25
【摘要】 一、*args与**kwargs介绍 *args是非关键字参数,用于元组,**kwargs是关键字参数 (字典) 也就是说args表示任何多个无名参数,然而kwags表示一个一个有着对应关系的关键字参数,在使用的时候需要注意,*args要在**kwags之前,不然会发生语法错误 二、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

文章来源: blog.csdn.net,作者:懿曲折扇情,版权归原作者所有,如需转载,请联系作者。

原文链接:blog.csdn.net/qq_41332844/article/details/126837337

【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。