べき乗演算は、左側にある単項演算子よりも強い結合優先順位 があります; 一方、右側にある単項演算子よりは低い結合優先順位に なっています。構文は以下のようになります:
従って、べき乗演算子と単項演算子からなる演算列が丸括弧で囲われて いない場合、演算子は右から左へと評価されます (この演算規則は、 被演算子の評価順序を縛る規則ではありません)。
べき乗演算子は、二つの引数で呼び出される組み込み関数 pow() と同じ意味付けを持っています。引数はまず共通の型に変換されます。 結果の型は、型強制後の引数の型になります。
引数型を混合すると、二項算術演算における型強制規則が適用されます。
整数や長整数の被演算子の場合、第二引数が負でない限り、結果は
(型強制後の) 被演算子と同じになります; 第二引数が負の場合、
全ての引数は浮動小数点型に変換され、浮動小数点型が返されます。
例えば、10**2
は 100
を返しますが、10**-2
は 0.01
を返します。 (上述の仕様のうち、最後のものは
Python 2.2 で追加されました。 Python 2.1 以前では、双方の引数が
整数型で、第二引数が負の場合、例外が送出されていました。)
0.0
を負の数でべき乗すると、ZeroDivisionError
を送出します。負の数を小数でべき乗すると ValueError
になります。
ご意見やご指摘をお寄せになりたい方は、 このドキュメントについて... をご覧ください。