Heim >Backend-Entwicklung >Python-Tutorial >Detaillierte Erklärung des ternären Python-Operators

Detaillierte Erklärung des ternären Python-Operators

高洛峰
高洛峰Original
2016-10-19 13:23:431533Durchsuche

Python hat keinen 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 zum Beispiel

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 Wenn Sie aus der C/C- oder Java-Welt kommen, können Sie die Tatsache, dass Python dies nicht getan hat, nur schwer ignorieren hatte bedingte Ausdrücke (C ? . (C ist ein bedingter Ausdruck; >Der Code sollte einfach gehalten werden, damit Programmierer weniger Fehler machen. Aber nach mehr als zehn Jahren gab er auf, hauptsächlich weil Leute versuchten, ihn mit zu simulieren

und und oder, aber die meisten davon waren falsch. Der richtige Weg (und nicht der einzige) ist

(C und [X] oder [Y])[0] Der einzige Das Problem ist, dass die Community mit dieser Syntax nicht einverstanden ist (Sie können einen Blick auf PEP 308 werfen, in dem es heißt:

Es gibt verschiedene Lösungen in Python.) Die Leute haben große Forderungen für dieses Problem in Python geäußert van Rossum entschied sich schließlich für die vielversprechendste (und seine Lieblings-)Lösung und wendete sie dann auf einige Module in der Standardbibliothek an. Laut PEP „untersucht dieser Test eine große Anzahl realer Beispiele, darunter verschiedene Anwendungen und geschriebenen Code.“ von verschiedenen Programmierern.“ Endlich Python 2.5. Die integrierte Syntax ist wie folgt festgelegt: Genug~




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