Python中"2*2"和"2**2"之间有什么区别?

Léo*_* 준영 50 python syntax

以下代码有什么区别?

code1:

var=2**2*3
Run Code Online (Sandbox Code Playgroud)

码2:

var2=2*2*3
Run Code Online (Sandbox Code Playgroud)

我没看见有分别.这提出了以下问题.

如果我们可以使用code2,为什么使用code1?

Osc*_*Ryz 121

尝试:

2**3*2
Run Code Online (Sandbox Code Playgroud)

2*3*2
Run Code Online (Sandbox Code Playgroud)

看到差异.

**是"权力"的运营者.在您的特定操作中,2到2的幂会产生相同的2乘2.

  • http://docs.python.org/reference/expressions.html#the-power-operator和http://docs.python.org/reference/expressions.html#binary-arithmetic-operations很重要@Masi,考虑阅读他们. (9认同)

edu*_*ffy 33

双星(**)是取幂.所以"2次2"和"2次2次"是相同的.更改数字,你会看到差异.

  • 实际上,双星在任何语言中都很常用,其中克拉(^)保留用于按位XOR运算.我认为我没有看过双星,除了取幂之外还有其他任何意义. (6认同)
  • 在Fortran中引入了双星作为幂,它没有按位运算符符号. (3认同)
  • 奇怪的事实:谷歌同时使用^和** (3认同)
  • @Martin:Fortran也早于ASCII,所以它不能依赖于`^`字符可用. (3认同)
  • 很久很久以前,他们在FORTRAN中使用过. (2认同)

Jia*_*aro 14

  2**2 means 2 squared (2^2)
  2*2 mean 2 times 2 (2x2)
Run Code Online (Sandbox Code Playgroud)

在这种情况下,他们恰好具有相同的价值,但......

  3**3*4 != 3*3*4
Run Code Online (Sandbox Code Playgroud)


Hab*_*wad 5

对于视觉学习者......................

在此处输入图片说明