python中*args **kw到底是什么意思
*args是非关键字参数,用于元组,**kw是关键字参数,用于字典 举例:
1.*args
def tupleArgs(arg1, arg2= ‘B’, *arg3):
print(‘arg 1:%s ‘ % arg1)
print(‘arg 2:%s ‘ % arg2)
for eachArgNum in range(len(arg3)):
print(‘the %d in arg 3 :%s ‘ % (eachArgNum,arg3[eachArgNum]))
if __name__ == ‘__main__‘:
tupleArgs(‘A’)
# arg 1:A
# arg 2:B
tupleArgs('23','C')
# arg 1:23
# arg 2:C
tupleArgs('12','A','GF','L')
# arg 1:12
# arg 2:A
# the 0 in arg 3 :GF
# the 1 in arg 3 :L
**kw
def dictArgs(kw1, kw2= 'B', **kw3):
print('kw 1:%s ' % kw1)
print('kw 2:%s ' % kw2)
for eachKw in kw3:
print('the %s ---->:%s ' % (eachKw,kw3\[eachKw\]))
if __name__ == ‘__main__‘:
dictArgs(‘A’)
# kw 1:A
# kw 2:B
dictArgs('23','C')
# kw 1:23
# kw 2:C
dictArgs('12','A', c = 'C',d = '12121212')
# kw 1:12
# kw 2:A
# the d ---->:12121212
# the c ---->:C
dictArgs('kw',c = 'C',d = '12121212',kw = 'KW')
# kw 1:kw
# kw 2:B
# the kw ---->:KW
# the d ---->:12121212
# the c ---->:C
其它意义
1. 两个乘号就是乘方,比如24,结果就是2的4次方,结果是16
2. 一个乘号,如果操作数是两个数字,就是这两个数字相乘,如24,结果为8
3. 如果是字符串、列表、元组与一个整数N相乘,返回一个其所有元素重复N次的同类型对象,
比如”str”3将返回字符串”strstrstr”