pythonノートのandとor演算

1137 ワード

0,’,",NONEはいずれも偽値である.0と1が対立し、1は真の値を表します.pythonではすべてオブジェクトで、データ構造ですか?空のデータ構造はFalse偽であり,逆に空でないデータ結果はTrue真である.
andとorはブール論理演算を実行するが,ブール値は返さず,実際に比較した値の1つを返す.
and:
>>> 'first'and'second' # and 
'second'
>>> ''and'second' # and 
''
>>> 'first'and''# and 
''
>>> ''and 0  #  and 
''

前後の2つの値はandで、2つが真であれば、2番目の値を返します.値が偽の場合、戻り順で最初に偽の値が表示されます(つまり、最初の値が偽の場合、最初の値が返されます.最初の値が真の値、2番目の値が偽の場合、2番目の値が返されます).
or:
>>> ''or 0 # or 
0
>>> 'first'or'second' # or 
'first'
>>> 'first'or'' # or 
'first'
>>> ''or'second' # or 
'second'

前後の2つの値がorの場合、両方が偽の場合、2番目の値を返します.値が真の場合、戻り順の最初の値が真の値(真の値であれ、真偽であれ、偽の値であれ)になります.
and-or:
>>> 1 and 2 or 3
2
>>> 1 and 2 or 0
2
>>> 0 and 2 or 3
3
>>> 1 and 0 or 3
3

上記andとorの特性に基づいて結果値を順次導出することができる.興味深いことに、and-or文法では、結果は決して最初の数ではありません.