转载:https://www.jb51.net/article/134240.htm
本文实例分析了Python星号*与**用法。分享给大家供大家参考,具体如下:
1. 加了星号(*)的变量名会存放所有未命名的变量参数,不能存放dict,否则报错。
如:
?
1 2 3 4 5 6 7 |
def multiple(arg, * args): print "arg: " , arg #打印不定长参数 for value in args: print "other args:" , value if __name__ = = '__main__' : multiple( 1 , 'a' , True ) |
输出:
2. 加了星号(**)的变量名会存放所有未命名的变量参数
?
1 2 3 4 5 6 |
def multiple2( * * args): #打印不定长参数 for key in args: print key + ":" + bytes(args[key]) if __name__ = = '__main__' : multiple2(name = 'Amy' , age = 12 , single = True ) |
输出
3. 有 *args 和 **dictargs:
?
1 2 3 4 5 6 7 8 9 10 |
def multiple(arg, * args, * * dictargs): print "arg: " , arg #打印args for value in args: print "other args:" , value #打印dict类型的不定长参数 args for key in dictargs: print "dictargs:" + key + ":" + bytes(dictargs[key]) if __name__ = = '__main__' : multiple( 1 , 'a' , True , name = 'Amy' ,age = 12 , ) |
输出:
另外,在Python数学运算中*代表乘法,**为指数运算,示例代码如下:
?
1 2 3 4 5 |
>>> 2 * 4 8 >>> 2 * * 4 16 >>> |