―― J'aime l'opérateur ternaire (opérateur conditionnel) ~ (J'ai été choqué lorsqu'un nouvel employé ne comprenait pas ...)
>>> a = True
>>> b = a ? "OK" : "NG"
File "<stdin>", line 1
b = a ? "OK" : "NG"
^
SyntaxError: invalid syntax
>>> b = "OK" if a else "NG"
>>> print(b)
OK
«Je pense que c'est plus naturel en anglais. (Je n'y suis pas encore habitué)
--Bien qu'il existe un moyen d'écrire `$ b =" OK "if (a);`
`comme un suffixe si en perl.
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!
―― Que se passe-t-il si vous écrivez ceci comme python?
>>> 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!'
――Il peut être assez difficile de comprendre si elle est continue ...
――Cela peut être difficile à comprendre, mais vous devriez l'utiliser ~ ――Est-ce contre le concept de design de python?
Recommended Posts