2017-01-24 12 views
-1
from math import pow 

assert pow(-3, 2) == 9 
assert -3 ** 2 == -9 

上記の2つのアサーションはなぜ有効ですか?python **負の値に関するmath.pow()との比較

正規の数学では、負の数に2が入力されると正の数になります。これは私が知っている普通の数学と同じですか? は負の値を無視していますが、これら2つの方法の唯一の違いは何ですか?

答えて

2

これは、操作の実行順序によるものです。最初のケースでは、pow(-3,2)は、入力として第1入力として-3を受け取り、第2入力として2を入力として取ります。操作が実行される順序は

  1. 計算3**2

  2. 変化であるので、第二のケースでは、**は、結果の符号

-よりも優先されこれにより結果はになります。

-1

pythonは力を計算した後にマイナスを計算するためです。

In [2]: -3**2 
Out[2]: -9 

In [3]: (-3)**2 
Out[3]: 9