python赋值运算符怎么算?基本赋值运算符有哪些?

246 阅读2分钟

赋值运算符其实在变量那一篇文章中已经有了介绍,就是使用=号来给变量赋值,值的种类可以有很多种,比如整数、浮点数、字符串、复数等。除此之外也可以进行某些运算后再交给左侧的变量,比如加减乘除、函数调用、逻辑运算等。

一、基本的赋值运算****

直接把值赋值给变量名


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 = yx = y
+=加赋值x += yx = x + y
-=减赋值x -= yx = x - y
*=乘赋值x *= yx = x * y
/=除赋值x /= yx =x /= y
%=取余数赋值x %= yx = x % y
**=幂赋值x **= yx = x ** y
//=取整数赋值x //= yx = x // y
&=按位与赋值x &= yx = x & y
=按位或赋值x= yx = xy
^=按位异或赋值x ^= yx = x ^ y
<<=左移赋值x <<= yx = x << y,这里的 y 指的是左移的位数
>>=右移赋值x >>= yx = 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 没有提前定义,所以它不能参与加法运算。