- 279 名前:デフォルトの名無しさん mailto:sage [2019/02/20(水) 00:43:10.98 ID:PF1BNO4k.net]
- こんな記法を見たんだが、どう言う文法からこんなのが出てくるの? 3項演算子みたいなものだが。
短絡評価if と言うらしいけど。 i = 8 print(i%2 and'odd!!!!'or'>EVEN<') #>EVEN< 短絡評価というのは先に成立した(True)方だけを見て後ろは見ないと言う方式みたいだね。 また、if が無くても評価式だけで成立するんだね。 print(0 and 2 or 5) #5 print(1 and 2 or 5) #2 しかし print(1 and 2 ) #2 はなんとなく違和感がある。 そう言えば、3項演算子があってなんで2項演算子みたいなものが無いんだろうと思ってた。 3項演算子なら 2 if 評価式 else 5 が有って 2 if 評価式 が無いのが不思議だった。 評価式 and 値(0以外) がそれに当たるのか。 しかし、 1 and 2 の時どうして後ろの値が有効になるのかな?
|

|