1. ホーム
  2. python

[解決済み] Pythonにはなぜ++と--の演算子がないのですか?

2022-03-20 16:57:05

質問

がないのはなぜですか? ++-- の演算子は、Pythonでは?

どのように解決するのですか?

x++"を "x += 1 と定義し、x"の前の結合を評価することは完全に理にかなっています。

元の理由を知りたければ、古いPythonのメーリングリストを渉猟するか、そこにいた人(例えばGuido)に聞くしかないでしょうが、事後的に正当化するのは十分簡単なことです。

単純なインクリメントとデクリメントは、他の言語ほど必要ない。 たとえば for(int i = 0; i < 10; ++i) はあまり使われません。 for i in range(0, 10) .

この構文はそれほど頻繁に必要とされるものではないので、特別な構文にする理由はあまりありません。 += は、通常、ちょうどよい。

それは、意味があるかどうか、できるかどうかという判断ではありません。 言語の中核となる構文に追加する価値があるかどうかが問題なのです。 覚えておいてほしいのは、これは 4 演算子--postinc、postdec、preinc、predec、およびこれらの各々は、独自のクラスのオーバーロードを持つ必要があり、それらをすべて指定し、テストする必要があり、言語にオペコードを加えることになります(それはより大きく、したがってより遅いVMエンジンを意味します)。 +=-= ).

ですべて冗長になります。 +=-= ということで、純減になります。