赋值运算符其实在变量那一篇文章中已经有了介绍,就是使用=号来给变量赋值,值的种类可以有很多种,比如整数、浮点数、字符串、复数等。除此之外也可以进行某些运算后再交给左侧的变量,比如加减乘除、函数调用、逻辑运算等。
一、基本的赋值运算****
直接把值赋值给变量名
a = 10
b = 11.5
c = 'python自学网' # 把一个变量赋值给另一个变量
d = b # 把运算结果赋值给变量
e = a * b
print(a, b, c, d, e)
返回结果是:10 11.5 python自学网 11.5 115.0
还可以通过连续赋值同时给多个变量赋相同的值
x = y = z = 100print(x, y, z)
返回结果:100 100 100
除了=号之外我们还会见到两个==使用场景,这里要注意一个=表示赋值,两个=号表示判断是否全等,这个到后面的比较运算中会详细讲解。
二、 赋值运算扩展****
| 运算符 | 说 明 | 用法举例 | 等价形式 | |||
|---|---|---|---|---|---|---|
| = | 最基本的赋值运算 | x = y | x = y | |||
| += | 加赋值 | x += y | x = x + y | |||
| -= | 减赋值 | x -= y | x = x - y | |||
| *= | 乘赋值 | x *= y | x = x * y | |||
| /= | 除赋值 | x /= y | x =x /= y | |||
| %= | 取余数赋值 | x %= y | x = x % y | |||
| **= | 幂赋值 | x **= y | x = x ** y | |||
| //= | 取整数赋值 | x //= y | x = x // y | |||
| &= | 按位与赋值 | x &= y | x = x & y | |||
| = | 按位或赋值 | x | = y | x = x | y | |
| ^= | 按位异或赋值 | x ^= y | x = x ^ y | |||
| <<= | 左移赋值 | x <<= y | x = x << y,这里的 y 指的是左移的位数 | |||
| >>= | 右移赋值 | x >>= y | x = x >>y,这里的 y 指的是右移的位数 |
这里举个简单的例子:
n1 = 100
f1 = 25.5
n1 -= 80 #等价于 n1=n1-80
f1 *= n1 - 10 #等价于 f1=f1*( n1 - 10 )
print("n1=%d" % n1)print("f1=%.2f" % f1)
运行结果为:n1=20 f1=255.00
通常情况下,只要能使用扩展后的赋值运算符,都推荐使用这种赋值运算符。
但是请注意,这种赋值运算符只能针对已经存在的变量赋值,因为赋值过程中需要变量本身参与运算,如果变量没有提前定义,它的值就是未知的,无法参与运算。例如,下面的写法就是错误的:
n += 10
该表达式等价于 n = n + 10,n 没有提前定义,所以它不能参与加法运算。