首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Python3中的赋值语句

Python中的赋值语句就是把对象赋值给变量,基本形式是在等号左侧写赋值语句的目标,要赋值的对象则位于等号右侧;等号左侧是对象或对象组件,等号右侧可以是任何通过计算能得到对象的表达式;赋值语句总是创建对象的引用,而不是复制对象;

Python3中赋值语句有如下形式:

赋值语句形式:

1:基础形式

>>> s='ixusy88'>>> s'ixusy88'>>>

2:元组赋值

>>> (s1,s2) = ('123','abc')>>> s1,s2('123', 'abc')>>> #也可以不需要括号()>>> s1,s2 = '111','cccc'>>> s1,s2('111', 'cccc')>>> # 左边与右边的元素个要一致,不然会报错,如下:>>> s1,s2 = '111','222','333'Traceback (most recent call last): File "", line 1, in s1,s2 = '111','222','333'ValueError: too many values to unpack (expected 2)>>>

3:列表赋值

>>> [a,b] = ['123','abc']>>> a,b('123', 'abc')>>> # >>> a,b = ['123','abc']>>> a,b('123', 'abc')>>> # 等号右边可以是元组>>> [a,b] = '123','abc'>>> a,b('123', 'abc')# 等号 两边元素需要一致>>> [a,b,c] = ['123','abc']Traceback (most recent call last): File "", line 1, in [a,b,c] = ['123','abc']ValueError: not enough values to unpack (expected 3, got 2)>>> [a,b] = ['123','abc','444']Traceback (most recent call last): File "", line 1, in [a,b] = ['123','abc','444']ValueError: too many values to unpack (expected 2)>>>

4:序列赋值

>>> a,b,c,d = '1234'>>> a,b,c,d('1', '2', '3', '4')>>> # 等号两边元素要一致>>> a,b,c,d = '123'Traceback (most recent call last): File "", line 1, in a,b,c,d = '123'ValueError: not enough values to unpack (expected 4, got 3)>>> a,b,c = '1234'Traceback (most recent call last): File "", line 1, in a,b,c = '1234'ValueError: too many values to unpack (expected 3)>>>

5:序列解包

# 带星号的名称,会被赋值一个列表,该列表收集了序列中剩下的没被赋值给其他名称的所有项>>> a,*b = 'ixusy88'>>> a,b('i', ['x', 'u', 's', 'y', '8', '8'])>>> a,*b,c = 'ixusy88'>>> a,b,c('i', ['x', 'u', 's', 'y', '8'], '8')>>> >>> a,*b = [1,2,3,4]>>> a,b(1, [2, 3, 4])>>> a,*b,c = [1,2,3,4,5]>>> a,b,c(1, [2, 3, 4], 5)>>> >>> a,*b,c = range(5)>>> a,b,c(0, [1, 2, 3], 4)>>> a,*b,c = [1,2,3]>>> a,b,c(1, [2], 3)>>>

6:多目标赋值

# 三个变量指向了同一个对象>>> a=b=c = 'ixusy88'>>> a,id(a)('ixusy88', 2197246939464)>>> b,id(b)('ixusy88', 2197246939464)>>> c,id(c)('ixusy88', 2197246939464)>>>

7:增量赋值

增量赋值语句有:

x  += y     x &= y     x -= y     x |= y 

x  *= y      x ^= y     x /= y     x  >>= y

x %= y     x

# "+=" 对列表而言是在原位置修改:a = [1,2,3]b = [3,4,5] print('1----',id(a),a)print('2----',id(b),b)a+=bprint('3----',id(a),a) print('*'*10)# "+" 是拼接,会产生新的对象:x = [10,20,30]y = [30,40,50]print('4----',id(x),x)print('5----',id(y),y)x = x + yprint('6----',id(x),x)

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20200802A0JY7Z00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券