如何在 Python 3.x.x 中的扩充赋值的同一行上执行算术运算?

How to perform arithmetic on the same line as a augmented assignment in Python 3.x.x?

在我的一个程序中,
我有以下行:

a = (a * b) + a   

其中a = 30, b = .05
这输出了 31.5 作为结果 这工作正常,但 PyCharm 告诉我我可以把它变成一个增强的任务。

我知道a * = ba = a * b是一样的

所以我将这一行重写如下:

a *= b + a

然而编译后输出的结果是901.5,这显然不是正确答案!将括号放在任何地方都不会改变结果,我想在与扩充赋值相同的行中而不是分开的两行中执行此操作,所以实际上我有两个问题:

  1. 是否可以让增广赋值以与我在同一行上的初始方程式相同的方式执行?

  2. 如果不是,为什么我们不能对增广赋值进行算术运算?

您可以使用

a += a * b

这将执行 a * b,然后执行 + a,与以下结果相同:

a * b + a