ここから本文です

Pythonには「べき乗」を求める演算子「**」がありますが、どうしてこの演算子だけ...

アバター

ID非公開さん

2019/6/1319:39:44

Pythonには「べき乗」を求める演算子「**」がありますが、どうしてこの演算子だけ右結合なのでしょうか。
他の演算子は左結合だったと思いますが、べき乗も左結合だと都合が悪いのでしょうか。

お詳しい方、教えて頂けると助かります。
宜しくお願い致します。

閲覧数:
22
回答数:
1

違反報告

ベストアンサーに選ばれた回答

プロフィール画像

カテゴリマスター

man********さん

2019/6/1321:10:52

「Pythonは、数学的な論文の式を簡易に記述できるようにデザインされている」とうことと、
「足し算の+、掛け算の*、べき乗の**」という演算子の次は「多数の可変段数のべき乗」というのが概念的に自然な拡張でもあり、数学的な論文によく出てくるので、ソレを書きやすくしているということでしょう。

左結合:2** 3** 4 ==((2 ** 3) ** 4)== 2 ** (3 * 4) == 4096

右結合:2 **3 **4 ==(2 ** (3 **4))==2417851639229258349412352L


<参考>「多数の可変段数のべき乗」という概念が出てくる関数の例
https://ja.wikipedia.org/wiki/アッカーマン関数#%E3%82%A2%E3%83%83%E3%82%AB%E3%83%BC%E3%83%9E%E3%83%B3%E9%96%A2%E6%95%B0%E3%81%AE%E5%80%A4%E3%81%AE%E8%A1%A8

「Pythonは、数学的な論文の式を簡易に記述できるようにデザインされている」とうことと、...

  • アバター

    質問者

    ID非公開さん

    2019/6/1321:19:08

    なるほど、そうなんですね。
    わかりました。
    右結合にすると、こんな便利な点があるんですね。
    回答どうもありがとうごさいました。

返信を取り消しますが
よろしいですか?

  • 取り消す
  • キャンセル

あわせて知りたい

この質問につけられたタグ

みんなで作る知恵袋 悩みや疑問、なんでも気軽にきいちゃおう!

Q&Aをキーワードで検索:

Yahoo! JAPANは、回答に記載された内容の信ぴょう性、正確性を保証しておりません。
お客様自身の責任と判断で、ご利用ください。
本文はここまでです このページの先頭へ

「追加する」ボタンを押してください。

閉じる

※知恵コレクションに追加された質問は選択されたID/ニックネームのMy知恵袋で確認できます。

不適切な投稿でないことを報告しました。

閉じる