在Python中,=(等于)
符号被定义为赋值运算符。变量左侧的表达式的值等于右侧表达式的值。需要注意的是,在编程语言中(包括Python),=
符号并不像数学中那样表示等式两边相等,而是表示一个赋值操作。
Python赋值运算符示例
以下是一些Python语句的例子:
a = 10
b = 5
a = a + b
print(a)
对于初学者来说,“a=a+b”这样的表达式可能看起来很奇怪。a怎么可能等于“a+b”呢?然而,需要强调的是这里的=
是一个赋值运算符,并不是用来表示左右两边相等的。
由于这是一个赋值操作,右侧的表达式计算结果为15,这个值被赋给了变量a
。
在语句"a+=b"中,可以将"+"和"="两个运算符组合成一个"+="运算符。这被称为加法并赋值运算符。在一个单一的语句中,它执行了两个操作数"a"和"b"的加法,并将结果赋给左边的操作数"a"。
Python中的增强赋值运算符
除了简单的赋值运算符外,Python还提供了几个用于高级使用的增强赋值运算符。这些运算符也称为累积或增强赋值运算符。下面我们将学习Python中定义的增强赋值运算符。
增强赋值运算符将算术或比较运算与赋值结合在一起。Python支持混合运算,因此两个操作数可以是不同类型的。然而,如果右边的操作数类型更宽,则左边操作数的类型会转换为右边操作数的类型。
增强加法运算符 (+=)
增强加法运算符+=
的工作原理如下:
a = 10
b = 5
print("增强加法运算符 - 整数与整数")
a += b
print("a=", a, "type(a):", type(a))
a = 10
b = 5.5
print("增强加法运算符 - 整数与浮点数")
a += b
print("a=", a, "type(a):", type(a))
a = 10.50
b = 5 + 6j
print("增强加法运算符 - 浮点数与复数")
a += b
print("a=", a, "type(a):", type(a))
输出将会是:
增强加法运算符 - 整数与整数
a= 15 type(a): <class 'int'>
增强加法运算符 - 整数与浮点数
a= 15.5 type(a): <class 'float'>
增强加法运算符 - 浮点数与复数
a= (15.5+6j) type(a): <class 'complex'>
增强减法运算符 (-=)
增强减法运算符-=
的工作原理如下:
a = 10
b = 5
print("增强减法运算符 - 整数与整数")
a -= b
print("a=", a, "type(a):", type(a))
a = 10
b = 5.5
print("增强减法运算符 - 整数与浮点数")
a -= b
print("a=", a, "type(a):", type(a))
a = 10.50
b = 5 + 6j
print("增强减法运算符 - 浮点数与复数")
a -= b
print("a=", a, "type(a):", type(a))
输出将会是:
增强减法运算符 - 整数与整数
a= 5 type(a): <class 'int'>
增强减法运算符 - 整数与浮点数
a= 4.5 type(a): <class 'float'>
增强减法运算符 - 浮点数与复数
a= (5.5-6j) type(a): <class 'complex'>
增强乘法运算符 (*=)
增强乘法运算符*=
的工作原理如下:
a = 10
b = 5
print("增强乘法运算符 - 整数与整数")
a *= b
print("a=", a, "type(a):", type(a))
a = 10
b = 5.5
print("增强乘法运算符 - 整数与浮点数")
a *= b
print("a=", a, "type(a):", type(a))
a = 6 + 4j
b = 3 + 2j
print("增强乘法运算符 - 复数与复数")
a *= b
print("a=", a, "type(a):", type(a))
输出将会是:
增强乘法运算符 - 整数与整数
a= 50 type(a): <class 'int'>
增强乘法运算符 - 整数与浮点数
a= 55.0 type(a): <class 'float'>
增强乘法运算符 - 复数与复数
a= (10+24j) type(a): <class 'complex'>
增强除法运算符 (/=)
增强除法运算符/=
的工作原理如下:
a = 10
b = 5
print("增强除法运算符 - 整数与整数")
a /= b
print("a=", a, "type(a):", type(a))
a = 10
b = 5.5
print("增强除法运算符 - 整数与浮点数")
a /= b
print("a=", a, "type(a):", type(a))
a = 6 + 4j
b = 3 + 2j
print("增强除法运算符 - 复数与复数")
a /= b
print("a=", a, "type(a):", type(a))
输出将会是:
增强除法运算符 - 整数与整数
a= 2.0 type(a): <class 'float'>
增强除法运算符 - 整数与浮点数
a= 1.8181818181818181 type(a): <class 'float'>
增强除法运算符 - 复数与复数
a= (2+0j) type(a): <class 'complex'>
增强取模运算符 (%=)
增强取模运算符%=
的工作原理如下:
a = 10
b = 5
print("增强取模运算符 - 整数与整数")
a %= b
print("a=", a, "type(a):", type(a))
a = 10
b = 5.5
print("增强取模运算符 - 整数与浮点数")
a %= b
print("a=", a, "type(a):", type(a))
输出将会是:
增强取模运算符 - 整数与整数
a= 0 type(a): <class 'int'>
增强取模运算符 - 整数与浮点数
a= 4.5 type(a): <class 'float'>
增强指数运算符 (**=)
增强指数运算符**=
的工作原理如下:
a = 10
b = 5
print("增强指数运算符 - 整数与整数")
a **= b
print("a=", a, "type(a):", type(a))
a = 10
b = 5.5
print("增强指数运算符 - 整数与浮点数")
a **= b
print("a=", a, "type(a):", type(a))
a = 6 + 4j
b = 3 + 2j
print("增强指数运算符 - 复数与复数")
a **= b
print("a=", a, "type(a):", type(a))
输出将会是:
增强指数运算符 - 整数与整数
a= 100000 type(a): <class 'int'>
增强指数运算符 - 整数与浮点数
a= 316227.7660168379 type(a): <class 'float'>
增强指数运算符 - 复数与复数
a= (97.52306038414744-62.22529992036203j) type(a): <class 'complex'>
增强地板除运算符 (//=)
增强地板除运算符//=
的工作原理如下:
a = 10
b = 5
print("增强地板除运算符 - 整数与整数")
a //= b
print("a=", a, "type(a):", type(a))
a = 10
b = 5.5
print("增强地板除运算符 - 整数与浮点数")
a //= b
print("a=", a, "type(a):", type(a))
输出将会是:
增强地板除运算符 - 整数与整数
a= 2 type(a): <class 'int'>
增强地板除运算符 - 整数与浮点数
a= 1.0 type(a): <class 'float'>