Python - 赋值运算符

前置知识

先了解下变量:

https://www.cnblogs.com/poloyy/p/15042257.html

再了解下算术运算符:

https://www.cnblogs.com/poloyy/p/15084527.html

 

赋值运算符

= 赋值
-= 减法赋值
=+ 加法赋值
*= 乘法赋值
/= 除法赋值
%= 求模赋值
**= 乘方赋值
//= 整数除赋值

 

Python 中不同数据类型的赋值

单个变量赋值单个对象

a = 1
b = 1.0
c = "字符串"
d = [1, 2, 3, 4]
e = (1, 2, 3, 4)
f = {1, 2, 3, 4}
g = {1: 1, 2: 2}

 

多个变量同时赋值多个对象

python 的特性,可以一行代码,同时给多个变量赋值

# 多变量
a, b = 1, 2
print(a, b)

a, b, c, d = 1, 2.0, True, "字符串"
print(a, b, c, d)

e, f, g, h = [1, 2, 3, 4], (1, 2, 3, 4), {1, 2, 3, 4}, {1: 1, 2: 2}
print(e, f, g, h)


# 输出结果
1 2
1 2.0 True 字符串
[1, 2, 3, 4] (1, 2, 3, 4) {1, 2, 3, 4} {1: 1, 2: 2}

 

单个变量赋值多个对象

这是 Python 元组的特性,单个变量使用 = 时,元组在右边的时候可以不用加 ( ),也称为元组打包

# 单个变量
a = 1, True, "字符串"
print(a, type(a))


# 输出结果
(1, True, '字符串') <class 'tuple'>

 

多个变量赋值单个序列对象

  • 这也叫序列解包,因为解包操作的 = 右侧可以是任何序列
  • 序列解包要求等号左侧的变量数与右侧序列里所含的元素数相同
a, b, c = (1, 2, 3)
print(a, b, c)

a, b, c = [1, 2, 3]
print(a, b, c)

a, b, c = {1, 2, 3}
print(a, b, c)


# 输出结果
1 2 3
1 2 3
1 2 3

 

总结

多重赋值其实就是元组打包和序列解包的组合

 

+=

等价写法

a +=1
a = a+1

其他赋值运算符同理,不再重复写

 

栗子

# +=
a = 1
a += 1
print(a)

a +=2.0
print(a)


# 输出结果
2
4.0

 

-=

# -=
a = 1
a -= 1
print(a)

a -= 1.0
print(a)


# 输出结果
0
-1.0

 

*=

# *=
a = 1
a *= 2
print(a)

a *= 2.0
print(a)


# 输出结果
2
4.0

 

**=

# **=
a = 2
a **= 2
print(a)

a **= 2.0
print(a)


# 输出结果
4
16.0

 

/=

# /=
a = 2
a /= 2
print(a)

a /= 2.0
print(a)


# 输出结果
1.0
0.5

 

//=

# //=
a = 5
a //= 2
print(a)

a //= 2.0
print(a)


# 输出结果
2
1.0

 

%=

# %=
a = 100
a %= 8
print(a)

a %= 3.0
print(a)


# 输出结果
4
1.0

 

posted @ 2021-07-31 17:55  小菠萝测试笔记  阅读(2301)  评论(1编辑  收藏  举报