a,b = (11,22) #一个元组分别赋值给a和b
print(a)
print(b)
num = "saldkfjks"
for i,name in enumerate(num): #enumerate():括号内可以是一个字符串,列表,元组,字典(字典取的是key的值)
print(i,name)
def text1(a,b,*args): *args是一个元组形式,将实参中多余的元素(除去键值对形式)接收
print(a)
print(b)
print(args) #打印出来的是一个元组
print(*args) #打印出来的是一个元组的拆分
print("-"* 50)
text2(args) #传递的是一个元组(相当于一个元素)
print("*" * 50)
text2(*args) #传递的是一个元组的拆分(相当于多个元素)
def text2(a,*args):
print(a)
print(args)
print(*args)
text1(1,2,3,4,5,6)
结果:
11 ----a
22 ----b
0 s (i与name)
1 a
2 l
3 d
4 k
5 f
6 j
7 k
8 s
1
2
(3, 4, 5, 6)
3 4 5 6
解释一下:1,2分别传给a,b;剩下的多余的元素以一个元组的形式传递(args代表一个元组;*args代表拆分元组)
--------------------------------------------------
(3, 4, 5, 6) #这次传递的是一个元组,所以把这个元组当作一个元组传递a,那么*args相当于为空
()
**************************************************
3
(4, 5, 6)
4 5 6
这次传递的一个拆分后的元组即:3,4,5,6
2 再来看看**kwargs
def run(a,**kwargs): #接收的是一个字典
print(a)
print(kwargs) #打印一个字典
print(**kwargs) #不支持这种形式的打印,报错
run(1,m =19,n=20)
run("sd",name="张三")
结果:
1
{'m': 19, 'n': 20}
sd
{'name': '张三'}