300字范文,内容丰富有趣,生活中的好帮手!
300字范文 > python操作符是什么意思_如何使用python操作符**与*?有什么区别?

python操作符是什么意思_如何使用python操作符**与*?有什么区别?

时间:2019-08-10 11:10:50

相关推荐

python操作符是什么意思_如何使用python操作符**与*?有什么区别?

大家是不是了解过“**”与“*”很多内容,认为这两个小小的操作符,居然用法这么多的不同,其实关于这个内容,大家只要掌握以下四部分,就掌握全部了哦~

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

算数运算,函数形参,函数实参,序列解包

算数运算**=乘方

>>>2*510>>>2**532

函数形参

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

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

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学习网教学中心。

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。