Python 中 arg,*args,**kwargs 简介

学习笔记 马富天 2020-10-27 16:34:08 9 0

【摘要】本文记录有关 arg,*args,**kwargs 的相关知识。

在 python 中如果你想要在函数的参数中同时使用 arg,*args,**kwargs 这三种参数,那么它们的顺序是固定的:arg,*args,**kwargs

  1. def test(arg,*args,**kwargs):
  2.     
  3.     print(arg,args,kwargs)
  4.     
  5. test(1,2,3,a = 4,b = 5,c = 6) 
  6. # 输出:1 (2, 3) {'a': 4, 'b': 5, 'c': 6}

再例如:

  1. def demo(a,b,*args,**kwargs):
  2.     
  3.     print(a,b,args,kwargs)
  4.     
  5. demo(1,2,3) 
  6. # 输出:1 2 (3,) {}
  7. # 即:a = 1,b = 2,args = (3,),kwargs = {}
  8. def demo(*args,**kwargs):
  9.     
  10.     print(args,kwargs)
  11.     
  12. demo(1,2,a = 10,b = 20) 
  13. # 输出:(1, 2) {'a': 10, 'b': 20}
  14. # 即:args = (1,2) kwargs = {'a': 10, 'b': 20}

以上可以看出来了吧,arg,*args,**kwargs 其实类似于占位符,三种类型的参数按顺序赋值,只要符合规则,则赋值成功,否则就会报错。

arg:是单个变量

*args:是元组

**kwargs:则是比较常见的情况,如 a = 1,b = 2

*args,**kwargs 使用常见比较多的情况就是在 python 的装饰器中,因为参数的个数未知,所以运用的比较多。

版权归 马富天个人博客 所有

本文标题:《Python 中 arg,*args,**kwargs 简介》

本文链接地址:http://www.mafutian.com/458.html

转载请务必注明出处,小生将不胜感激,谢谢! 喜欢本文或觉得本文对您有帮助,请分享给您的朋友 ^_^

0

0

上一篇《 python 装饰器学习笔记 》 下一篇《 个人学习笔记分享 》

暂无评论

评论审核未开启
表情 表情 表情 表情 表情 表情 表情 表情 表情 表情 表情 表情 表情 表情 表情 表情 表情 表情 表情 表情 表情 表情 表情 表情
验证码

TOP10

  • 浏览最多
  • 评论最多