以下代码有什么区别?
CODE1 :
var=2**2*3
码2:
var2=2*2*3
我认为没有区别。 这提出了以下问题。
如果我们可以使用code2,为什么会使用code1?
答案 0 :(得分:118)
尝试:
2**3*2
和
2*3*2
看到差异。
**
是“权力”的运营商。在你的特定操作中,2到2的幂会产生相同的2次2。
答案 1 :(得分:32)
双星(**
)是取幂。所以“2次2”和“2次2次”是相同的。更改数字,你会看到差异。
答案 2 :(得分:14)
2**2 means 2 squared (2^2)
2*2 mean 2 times 2 (2x2)
在这种情况下,它们碰巧具有相同的值,但是......
3**3*4 != 3*3*4
答案 3 :(得分:4)
专门回答你的问题如果我们可以使用code2,为什么使用code1?我可能会建议程序员在数学上更广泛地思考。具体而言,也许更广泛的等式是幂方程,并且两个第一个数都是“2”的事实比数学现实更重合。在所有情况下,我都希望确保代码的更广泛的上下文支持
var = x * x * y
,而不是仅仅在这个特定的情况下。如果x不是2,那么这可能会让你遇到大麻烦。
答案 4 :(得分:4)
答案 5 :(得分:2)
2 ** 2 = 2次幂2
2 * 2 = 2次2
答案 6 :(得分:2)
Python中的**
运算符实际上是“强大的”;也就是2**3 = 8
。
答案 7 :(得分:1)
最上面的一个是“电源”操作符,所以在这种情况下它是相同的2 * 2等于2是2的幂。如果你把3放在中间位置,你会看到一个区别
答案 8 :(得分:1)
双星号意味着力量。单个星号表示乘以。 2 2 与2x2相同,这就是为什么两个答案都是4的原因。
答案 9 :(得分:1)
权力优先于乘法,所以:
2**2*3 = (2^2)*3
2*2*3 = 2*2*3