序列解包,可变变量总结

序列解包

###左边只有一个变量时###
a = 1, 2, 3
a会自动变成一个tuple
a = (1, 2, 3)
因此
x = 1, 2, 3
等同于
x = (1,2,3)

a = (22,3,4), ‘the’,1
print(a)

###右边只有一个变量时####
x,y,z = [1,2,3]
一 一对应 都是int

###左右个数相等时,一 一对应的取值###
b,c,d = 1,2,3
等同于
b,c,d =(1, 2 ,3)

a,b,c = d = 1,2,3
print(‘a:’,a,’\nb: ‘,b ,’\nc: ',c)
print('d: ‘,d)
#结果相同
d = a, b ,c = 1,2,3
print(‘a:’,a,’\nb: ‘,b ,’\nc: ',c)
print('d: ',d)


当左边个数大于1,左右个数要想等
错:x,y, z = 1,(2,3)
对:x,(y,z) = 1,(2, 3)
x, y ,z都是int

同理
x,y,z = (2,3,4)
都是int

左右个数不等式
可变变量*可以实现左右个数不相同
变量前面加star,使得可变变量左边的变量取完值后,剩余的值自动会变为一个列表
x,*y = 1,(2,3),‘lo’,‘ff’,3,4
y = [(2,3),‘lo’,‘ff’,3,4] 是一个列表

x,*y=1,2
y=[2]是一个list

x,*y = [1,2],[3,4,‘d’]
print(x,y) #y = [[3,4,‘d’]]是一个嵌套列表

x,*y = [1,2],3,4,‘d’ #y=[3,4,‘d’]是一个列表
print(x,y)


函数中的可变参数
x,*y = 1,2,3,4
print(x,y)
#x = 2,3,4
#print(x)
z = a,b,c = y #a,b,c 和z 分别和y相等,所以z是个list
print(a,b,c) # int
print((a,b,c)) #tuple
print(z) #list


函数的参数
def jiafa(x,y,z=10):

return x + y +z

jiafa(y=2,x=1)

按照函数中参数定义的顺序
1.必须参数: 形参、实参、关键参数
在方程定义中x,y是形参
在实际应用中1,2是实参
关键字参数:funtion(y=2, x=1),可以调换位置关键字参数个 数和形参个数 一致
2.默认参数: z=10

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值