python-赋值

赋值

         a,b,c,d = 'spam'  a = 's',b = 'p',c= 'a',d = 'm' //序列赋值支持右侧任何可迭代的对象,赋值目标中的项数与主体项数必须相同

        spam,ham = 'yun','yus'   spam = 'yun',ham = 'yus'

        l = [1,2,3,4]    (   front,l = l[0],l[1:] ) 等价于 front = l[0],l = l[1:]   ----》front = 1,l = [2,3,4]

         a,*b = 'spam'  a = 's'   b = ['p','a','m']

         *a,b = 'spam'  b = 'm'   b = ['p','a','m']

        a,*b,c = [1,2,3,4]   a  = 1,b = [2,3],c = 4

        注:带*的无论有几个元素,都会返回一个列表,元素为零则返回空列表

                不能有多个带*的值


        注:对于不可变对象而言,直接赋值共享没问题,因为不可变对象不支持在原处修改,但是,对于可变对象,直接修改可能会导致所有指向该位置的引用全部发生改变        

        eg:不可变对象a = 1

                b = a

                a = 2

                --->a  = 2,b = 1

            可变对象

               l = [1,2,3,4]

                r = l

                l[1] = 5

                ---->l = [1,5,3,4]   r = [1,5,3,4]

            所以,对于可变对象,尽量避免直接在原处修改,采用单独的语句来改变数值

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值