a*a//b不';无法在Python中正常工作(//运算符)

a*a//b不';无法在Python中正常工作(//运算符),python,operator-keyword,division,Python,Operator Keyword,Division,python//运算符是整数除法 但在a*a//b的情况下,它的工作原理与a*a/b类似 a = 10 b = 3 a * a//b >> 33 a//b * a >> 30 temp = a//b a * temp >> 30 为什么会发生这种情况呢?你可能想写a*(a//b)。乘法发生在除法之前,因为乘法在左边,具有相同的优先级。在这两种情况下,运算顺序是相同的,但在两个语句的不同部分会发生一个隐式整数截断运算 在第一种情况下,在末尾截断为整数,在第

python//运算符是整数除法

但在a*a//b的情况下,它的工作原理与a*a/b类似

a = 10
b = 3
a * a//b
>> 33

a//b * a
>> 30

temp = a//b
a * temp
>> 30

为什么会发生这种情况呢?

你可能想写
a*(a//b)
。乘法发生在除法之前,因为乘法在左边,具有相同的优先级。

在这两种情况下,运算顺序是相同的,但在两个语句的不同部分会发生一个隐式整数截断运算


在第一种情况下,在末尾截断为整数,在第二种情况下,在开头截断为整数。因此,您会得到不同的答案。

a*a//b=10*10//3=100//3=33
。这有什么问题?
100//3
不同于
3*10
,是的。Python不太关心空间。哦,我的天啊,对不起。。t你说“两种情况下的操作顺序相同”是什么意思?