python中合法的赋值语句_Python3中的赋值语句

0caeab564dc9

AI-story-resized.jpg

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

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

赋值语句形式:

0caeab564dc9

image.png

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<<= y x **= y x //= y

# "+=" 对列表而言是在原位置修改:

a = [1,2,3]

b = [3,4,5]

print('1----',id(a),a)

print('2----',id(b),b)

a+=b

print('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 + y

print('6----',id(x),x)

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值