python顺序排列函数,python 函数参数列表

  python顺序排列函数,python 函数参数列表

  Python中函数的参数问题有点复杂,主要是因为参数类型导致的情况比较多。下面我们来分析一下。

  类型:默认参数、关键字参数、变长位置参数、变长关键字参数。

  其实可以分为位置参数和关键字参数,因为位置参数放在list里,关键字参数放在dict里。Python在解释时先处理list,没有遇到关键字时追加到list,遇到关键字时开始做dict,直到结束。因此,位置参数必须放在关键字参数之前。

  这里总结了三种模型:

  1:没有默认功能时:

  deftest(a,*args,c,d=3,**kwargs):

  打印(一份)

  打印(参数)

  打印(c)

  打印(d)

  印刷品(夸脱)

  测试(1,2,3,4,c=1,d=4,e=11,f=22)运行结果:

  一个

  (2,3,4)

  一个

  四

  {E :11, F 336022} 2:有默认参数,参数取默认值,(默认参数放在args后面)*

  deftest(a,*args,b=1,c,d=3,**kwargs):

  打印(一份)

  打印(参数)

  打印(b)

  打印(c)

  打印(d)

  印刷品(夸脱)

  测试(1,2,3,4,c=1,d=4,e=11,f=22,h=66)运行结果:

  (2,3,4)

  一个

  {E :11, F 336022, H 336066} 3:有默认参数,参数不带默认值,(默认参数放在args之前)*

  deftest(a,b=1,*args,c,d=3,**kwargs):

  打印(一份)

  打印(b)

  打印(参数)

  打印(c)

  打印(d)

  印刷品(夸脱)

  测试(1,2,3,4,c=1,d=4,e=11,f=22,h=66)运行结果:

  一个

  2

  (3,4)

  一个

  四

  {f:22, e:11, h :66 }总结:

  从上面可以看出,其实基本顺序是position参数-keyword参数,然后默认参数是*args前后。

  还有一点,前面提到了,关键字参数保存为字典类型,也就是无序的,但是**kwargs需要放在最后!

  许多python培训视频可以在流行的IT软件开发工作室获得。欢迎在线学习!

  本文转自:https://www.jianshu.com/p/625a400b563d

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

留言与评论(共有 条评论)
   
验证码: