Heim  >  Artikel  >  Backend-Entwicklung  >  Detaillierte Einführung in den ternären Python-Operator

Detaillierte Einführung in den ternären Python-Operator

高洛峰
高洛峰Original
2017-03-17 17:19:381373Durchsuche

Dieser Artikel enthält eine detaillierte Einführung in den ternären Operator in Python.

Python verfügt nicht über einen ternären Deskriptor, kann aber durch Simulation implementiert werden.
Eine davon ist:

(X und V1) oder V2

Normalerweise tritt kein Fehler auf, aber im Artikel wurde auch erwähnt, dass es bei V1="" zu Problemen kommen wird
wie

print (True und '') oder 'V'
print (False und '') oder 'V'

Die Ausgabe ist immer: V

Die perfekte Lösung wird in „Python Core Programming“ erwähnt:

V1 if X else V2

Der Originaltext lautet wie folgt:

Wenn Sie aus der C/C++- oder Java-Welt kommen, fällt es Ihnen schwer, die Tatsache zu ignorieren, dass Python schon seit langem verwendet wird
Das gibt es kein bedingter -Ausdruck (C ? Y ist das Ergebnis, wenn C falsch ist) Guido van Rossum hat sich immer geweigert, eine solche Funktion hinzuzufügen, weil er der Meinung ist, dass der Code einfach gehalten werden sollte, damit die Wahrscheinlichkeit geringer ist, dass Programmierer Fehler machen Allerdings gab er mehr als zehn Jahre später auf, hauptsächlich weil die Leute versuchten, es mit und und oder zu simulieren, es aber laut FAQ meistens falsch verstanden haben (und nicht der einzige). ist (C und [X] oder [ Y])[0] Das einzige Problem ist, dass die Community mit dieser Syntax nicht einverstanden ist (Sie können sich PEP 308 ansehen, das eine hat Anderer Ansatz.) Es wurden viele Meinungen zu diesem Problem in Python geäußert
Guido van Rossum wählte schließlich die vielversprechendste (und seine Lieblings-)Lösung und wendete sie dann auf einige Module in der Standardbibliothek an
Zum PEP: „Diese Überprüfung untersucht eine große Anzahl realer Fälle, einschließlich verschiedener Anwendungen und Code, der von verschiedenen
Programmierern erstellt wurde. Schließlich wurde die Syntax der Python 2.5-Integration wie folgt festgelegt: X wenn C sonst.“ Y .

Wie oben erwähnt, wurde diese Syntax erst in Python 2.5 hinzugefügt, aber da 2.4 und frühere Versionen normalerweise nicht verwendet werden, reicht sie aus~


Das obige ist der detaillierte Inhalt vonDetaillierte Einführung in den ternären Python-Operator. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn