Python にはなぜ ++ と --​ 演算子がないのでしょうか? 質問する

Python にはなぜ ++ と --​ 演算子がないのでしょうか? 質問する

Python にはなぜ++and演算子がないのでしょうか?--

ベストアンサー1

それは意味をなさないからではありません。"x++" を "x += 1、x の前のバインディングを評価する" と定義することは完全に意味をなします。

元々の理由を知りたい場合は、古い Python メーリング リストを調べるか、そこにいた人 (例: Guido) に尋ねる必要がありますが、事後的に正当化するのは簡単です。

単純な増分と減分は、他の言語ほど必要ありません。for(int i = 0; i < 10; ++i)Python のように書くことはあまりなく、代わりに のようなことをしますfor i in range(0, 10)

それほど頻繁に必要となるわけではないので、独自の特別な構文を用意する理由はほとんどありません。増分する必要がある場合は、+=通常これで十分です。

これは、それが理にかなっているかどうか、またはそれが実行可能かどうかの決定ではありません。理にかなっているし、実行可能です。問題は、その利点が言語のコア構文に追加する価値があるかどうかです。これはpostinc、postdec、preinc、predec の4 つの演算子であり、それぞれに独自のクラス オーバーロードが必要であることを覚えておいてください。これらはすべて指定およびテストされる必要があります。これにより、言語にオペコードが追加されます (つまり、VM エンジンが大きくなり、したがって遅くなります)。論理増分をサポートするすべてのクラスは、それらを実装する必要があります (+=およびの上に-=)。

これはすべて および と重複している+=ため-=、純損失になります。

おすすめ記事