python中-和--的用法,python有++运算符吗

  python中*和**的用法,python有++运算符吗

  是不是对“* *”和“*”很了解,觉得这两个小运算符其实有那么多不同的用法?其实只要掌握了以下四个部分,就可以全部掌握了~

  真正意义上有四类用法即:

  算术运算、函数参数、函数变元、序列解包

  算数运算

  * *=功率

  2 * 5102 * * 532函数形参

  *args 和 **kwargs 主用于函数定义。

  您可以向函数传递不确定数量的参数。不确定意味着:预先并不知道, 函数使用者会传递多少个参数给你, 所以在这个场景下使用这两个关键字。其实并不是必须写成 *args 和 **kwargs。*(星号)是必要的。你也可以写*ar和* * k,而写*args和**kwargs只是一个流行的命名约定。

  "font-family: 微软雅黑, "Microsoft YaHei"; font-size: 14px;">python函数传递参数的方式有两种:

  

  • 位置参数(positional argument)

      

  • 关键词参数(keyword argument)

      

*args 与 **kwargs 的区别,都是 python 中的可变参数:

  

  • *args=任何多个无名参数,它本质是一个 tuple

      

  • **kwargs =关键字参数,它本质上是一个 dict

      

示例

  

同使用 *args 和 **kwargs 时,必须 *args 参数列要在 **kwargs 之前。

  

>>>deffun(*args,**kwargs):...print('args=',args)...print('kwargs=',kwargs)...>>>fun(1,2,3,4,A='a',B='b',C='c',D='d')args=(1,2,3,4)kwargs={'A':'a','B':'b','C':'c','D':'d'}

*args

  

>>>deffun(name,*args):...print('你好:',name)...foriinargs:...print("你的宠物有:",i)...>>>fun("Geek","dog","cat")你好:Geek你的宠物有:dog你的宠物有:cat

**kwargs

  

>>>deffun(**kwargs):...forkey,valueinkwargs.items():...print("{0}喜欢{1}".format(key,value))...>>>fun(Geek="cat",cat="box")Geek喜欢catcat喜欢box

函数实参

  

如果函数的形参是定长参数,也可以使用 *args 和 **kwargs 调用函数,类似对元组和字典进行解引用:

  

>>>deffun(data1,data2,data3):...print("data1:",data1)...print("data2:",data2)...print("data3:",data3)...>>>args=("one",2,3)>>>fun(*args)data1:onedata2:2data3:3>>>kwargs={"data3":"one","data2":2,"data1":3}>>>fun(**kwargs)data1:3data2:2data3:one

序列解包

  

这里只列出一个例子,序列解包没有 **。

  

>>>a,b,*c=0,1,2,3>>>a0>>>b1>>>c[2,3]

大家掌握上面4种就可以了哦~收藏消化起来吧~如需了解更多python实用知识,点击进入PyThon学习网教学中心

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

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