Heim >Backend-Entwicklung >Python-Tutorial >Detaillierte Erklärung des ternären Python-Operators
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~