python 赋值方式

来源:互联网 发布:淘宝评论怎么写100字 编辑:程序博客网 时间:2024/06/03 19:33
'''spam='spam'   基本形式spam,ham='spam','ham'   元组赋值运算(位置性)[spam,ham]=['spam','ham']  列表赋值运算(位置性)a,b,c,d='spam'   序列赋值运算,通用性a,*b='spam'   扩展的序列解包spam=ham='spam'   多目标赋值运算spam+=42   增强赋值运算(相当于spam=spam+42)'''#多目标赋值运算a=b=c='spam'print(a,b,c)    #spam spam spamprint(id(a),id(b),id(c))    #地址一致a=b=0b=b+1print(a,b)  #0 1a=b=[]a.append(1)print(a,b)  #[1] [1]#序列赋值a=1b=2A,B=a,bprint(A,B)   #1 2a,b=a,bprint(a,b)  #1 2[a,b,c]=[1,2,3]print(a,b,c)    #1 2 3print([a,b,c])  #[1, 2, 3]print((a,c))    #(1, 3)(a,b,c)="spa"print(a,b,c)    #s p astring='spam'a,b,c,d=stringprint(a,b,c,d)  #s p a m#a,b,c=string     #ValueError: too many values to unpack (expected 3) 左右两边的长度必须要一样a,b,c=string[0],string[1],string[2:]print(a,b,c)    #s p ama,b,c=list(string[:2])+[string[2:]]print(a,b,c)    #s p ama,b=string[:2]c=string[2:]print(a,b,c)    #s p am(a,b),c=string[:2],string[2:]print(a,b,c)    #s p amred,green,blue=range(3)print(red,green,blue)   #0 1 2l=[1,2,3,4]while l:    front, l=l[0],l[1:]    print(front,l)#1 [2, 3, 4]#2 [3, 4]#3 [4]#4 []#拓展序列解包---当左边和右边长度不等时,不会报错seq=[1,2,3,4]a,*b=seqprint(a)    #1print(b)    #[2,3,4]seq=[1,2,3,4]*a,b=seqprint(a)    #[1, 2, 3]print(b)    #4seq=[1,2,3,4]a,*b,c=seqprint(a)    #1print(b)    #[2,3]print(c)    #4seq=[1,2,3,4]#*a,*b=seq    #报错SyntaxError: two starred expressions in assignmentseq=(1,2,3,4)a,*b=seqprint(a)    #1print(b)    #[2,3,4]seq='1234'a,*b=seqprint(a)    #1print(b)    #['2','3','4']l=[1,2,3,4]while l:    front,*l=l    print(front, l)#1 [2, 3, 4]#2 [3, 4]#3 [4]#4 []a,b,c,d,*e=seqprint(a,b,c,d,e)    #1 2 3 4 []  当没有剩下的内容可以匹配带星号的名称,则赋值一个空列表a,b,*c,d,e=seqprint(a,b,c,d,e)    #1 2 [] 3 4  当没有剩下的内容可以匹配带星号的名称,则赋值一个空列表#*a=seq    #报错SyntaxError: starred assignment target must be in a list or tuple*a,=seqprint(a)    #['1', '2', '3', '4']#增强赋值语句x=1x+=1print(x)    #2s='spam's+=sprint(s)    #spamspaml=[1,2]l+=[3,4]print(l)    #[1, 2, 3, 4]
原创粉丝点击