1,算术运算*代表乘法**代表幂1>>>2*52103>>>2**54322,函数参数*args和**kwargs主要用于函数定义,您可以将不定数量的参数传递给函数。Indeterminate的意思是:你事先并不知道函数用户会传给你多少个参数,所以在这个场景中使用这两个关键字。其实不一定要写*args和**kwargs。*(星号)是必需的。您也可以编写*ar和**k。而写*args和**kwargs只是一种流行的命名约定。python函数的参数传递有两种方式:位置参数(positionalargument)关键字参数(keywordargument)args和*kwargs的区别,在python中都是可变参数:*args表示任意数量的未命名参数,本质上是表示关键字参数的tuple**kwargs,它本质上是一个字典。如果*args和**kwargs同时使用,*args参数必须列在**kwargs之前。1>>>deffun(*args,**kwargs):2...print('args=',args)3...print('kwargs=',kwargs)4...5>>>乐趣(1,2,3,4,A='a',B='b',C='c',D='d')6args=(1,2,3,4)7kwargs={'A':'a','B':'b','C':'c','D':'d'}使用*args1>>>deffun(name,*args):2...print('你好:',name)3...foriinargs:4...print("Yourpethas:",i)5...6>>>fun("Geek","dog","cat")7你好:Geek8你的宠物有:dog9你的宠物有:猫使用**kwargs1>>>deffun(**kwargs):2...作为键,kwargs.items()中的值:3...print("{0}likes{1}".format(key,value))4...5>>>fun(Geek="cat",cat="box")6Geeklikescat7catlikebox3,函数参数如果函数的形参是定长参数,也可以使用args和*kwargs来调用函数,类似于解引用元组和字典:1>>>deffun(data1,data2,data3):2...print("data1:",data1)3...print("data2:",data2)4...print("data3:",data3)5...6>>>args=("one",2,3)7>>>fun(*args)8data1:一个9data2:210data3:311>>>k座狼={"data3":"one","data2":2,"data1":3}12>>>fun(**kwargs)13data1:314data2:215data3:one4,sequenceunpackingsequenceunpacking之前博客写的不过这里只是一个例子,没有序列拆包**1>>>a,b,*c=0,1,2,32>>>a304>>>b516>>>c7[2,3】文章引用来源:CSDN博客平台更多精彩转微信公众号【老王说编程】,专注后端编程实战,原创文章每天更新!
