Python-Memo mit perl-ternärem Operator

Gibt es keinen ternären Operator?

――Ich mag den ternären Operator (bedingter Operator) ~ (Ich war schockiert, als ein neuer Mitarbeiter nicht verstand ...)

>>> a = True
>>> b = a ? "OK" : "NG"
  File "<stdin>", line 1
    b = a ? "OK" : "NG"
          ^
SyntaxError: invalid syntax

--Ein Fehler ist aufgetreten ...

>>> b = "OK" if a else "NG"
>>> print(b)
OK

――Ich denke, das ist auf Englisch natürlicher. (Ich bin noch nicht daran gewöhnt)

Komplexer ternärer Operator

sh-3.2$ perl -le '$a=0;$b=($a==0)?"ZERO":($a==1)?"ONE":($a==2)?"TWO":"TAKUSAN!";print $b' 
ZERO
sh-3.2$ perl -le '$a=1;$b=($a==0)?"ZERO":($a==1)?"ONE":($a==2)?"TWO":"TAKUSAN!";print $b'
ONE
sh-3.2$ perl -le '$a=2;$b=($a==0)?"ZERO":($a==1)?"ONE":($a==2)?"TWO":"TAKUSAN!";print $b'
TWO
sh-3.2$ perl -le '$a=3;$b=($a==0)?"ZERO":($a==1)?"ONE":($a==2)?"TWO":"TAKUSAN!";print $b' 
TAKUSAN!

――Was passiert, wenn Sie dies wie Python schreiben?

>>> a=0
>>> b = "ZERO" if a == 0 else "ONE" if a == 1 else "TWO" if a == 2 else "TAKUSAN!"
>>> b
'ZERO'
>>> a=1
>>> b = "ZERO" if a == 0 else "ONE" if a == 1 else "TWO" if a == 2 else "TAKUSAN!"
>>> b
'ONE'
>>> a=2
>>> b = "ZERO" if a == 0 else "ONE" if a == 1 else "TWO" if a == 2 else "TAKUSAN!"
>>> b
'TWO'
>>> a=3
>>> b = "ZERO" if a == 0 else "ONE" if a == 1 else "TWO" if a == 2 else "TAKUSAN!"
>>> b
'TAKUSAN!'

――Es kann ziemlich schwer zu verstehen sein, wenn es kontinuierlich ist ...

Ich will es doch ~

――Es mag schwer zu verstehen sein, aber Sie sollten es verwenden ~ ――Ist es gegen das Designkonzept von Python?

Recommended Posts

Python-Memo mit perl-ternärem Operator
Hinweise zur Verwendung von Python-Unterprozessen
Python-Notizen zur Verwendung von Perl-Spezialvariablen
Hinweise zur Verwendung von MeCab aus Python
Hinweise zur Installation von Python mit PyEnv
Hinweise zur Verwendung von rstrip mit Python.
Hinweise zur Verwendung von OpenCV mit Windows 10 Python 3.8.3.
Python-Scraping-Memo
Hinweise zur Verwendung von cChardet und python3-chardet in Python 3.3.1.
Python lernen note_000
Python-Lernnotizen
Python-Anfängernotizen
Python lernen note_006
Starten Sie Python
Python C ++ Notizen
Python 3-Operator-Memo
Python lernen note_005
Python-Grammatiknotizen
Python Library Hinweis
Hinweise zur Verwendung von Python (Pydev) mit Eclipse
Trinity-Operator (Python)
Python persönliche Notizen
Scraping mit Python
Python Pandas Memo
Python lernen note_001
Python-Lernnotizen
Installationshinweise zu Python3.4
Hinweise zur Installation von Python3 und zur Verwendung von pip unter Windows7
Hinweise zur Verwendung von dict mit Python [Competition Pro]
[Python] Hinweise zur Beschleunigung genetischer Algorithmen mithilfe von Multiprocessing
Bearbeiten Sie Redmine mit Python Redmine
fehlende Ganzzahlen Python persönliche Notizen
Fibonacci-Sequenz mit Python
Hinweise zur Entwicklung von Python-Paketen
Datenbereinigung mit Python
Verwendungshinweise für Python Decorator
Python-IP-Adresse Paket Memo
Verwenden von Python # externen Paketen
Notizen im Python Pickle-Format
WiringPi-SPI-Kommunikation mit Python
Erstes Python-Memo
Altersberechnung mit Python
Matlab => Python-Migrationsnotizen
Suchen Sie Twitter mit Python
Hinweise zur Python3-Zuweisung
Namensidentifikation mit Python
Hinweise zur Verwendung von Alembic
Versuchen Sie es mit Tweepy [Python2.7]
Python versuchen / außer Memo
Informationen zur Überlastungspriorität des Python-Operators
Hinweise zur Python-Framework-Flasche
Mindestnotizen bei Verwendung von Python auf Mac (Homebrew Edition)
Mit Python abflachen
Scraping mit Python 3.5 async / await
Speichern Sie Bilder mit Python3-Anforderungen
[S3] CRUD mit S3 unter Verwendung von Python [Python]
O'Reilly python3 Primer Lernnotiz