5.4 べき乗演算 (power operator)

べき乗演算は、左側にある単項演算子よりも強い結合優先順位 があります; 一方、右側にある単項演算子よりは低い結合優先順位に なっています。構文は以下のようになります:

power ::= primary ["**" u_expr]
Download entire grammar as text.

従って、べき乗演算子と単項演算子からなる演算列が丸括弧で囲われて いない場合、演算子は右から左へと評価されます (この演算規則は、 被演算子の評価順序を縛る規則ではありません)。

べき乗演算子は、二つの引数で呼び出される組み込み関数 pow() と同じ意味付けを持っています。引数はまず共通の型に変換されます。 結果の型は、型強制後の引数の型になります。

引数型を混合すると、二項算術演算における型強制規則が適用されます。 整数や長整数の被演算子の場合、第二引数が負でない限り、結果は (型強制後の) 被演算子と同じになります; 第二引数が負の場合、 全ての引数は浮動小数点型に変換され、浮動小数点型が返されます。 例えば、10**2100 を返しますが、10**-20.01 を返します。 (上述の仕様のうち、最後のものは Python 2.2 で追加されました。 Python 2.1 以前では、双方の引数が 整数型で、第二引数が負の場合、例外が送出されていました。)

0.0 を負の数でべき乗すると、ZeroDivisionError を送出します。負の数を小数でべき乗すると ValueError になります。

ご意見やご指摘をお寄せになりたい方は、 このドキュメントについて... をご覧ください。