514 Stimmen

Warum gibt es in Python keine ++ und -- Operatoren?

Warum gibt es keine ++ y -- Operatoren in Python?

-5voto

Kef Schecter Punkte 219

Zusätzlich zu den anderen hervorragenden Antworten hier, ++ y -- sind auch für ihr undefiniertes Verhalten berüchtigt. Was passiert zum Beispiel in diesem Code?

foo[bar] = bar++;

Es sieht so unschuldig aus, aber es ist falsch C (und C++), weil man nicht weiß, ob die erste bar inkrementiert worden ist oder nicht. Ein Compiler kann das auf die eine Art tun, ein anderer auf eine andere, und ein dritter lässt Ihnen vielleicht Dämonen aus der Nase fliegen. Alle wären vollkommen konform mit den C- und C++-Standards.

Undefiniertes Verhalten wird in C und C++ als notwendiges Übel angesehen, aber in Python ist es einfach böse und wird so weit wie möglich vermieden.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X