僕の備忘録(PC、UN*X、ネットワーク関連が中心)なんです。
自分の書いたところは適当(な時とか)に書き換えますので御了承を。
>>> if 1 : print 'OK' ... OK >>> if 0 : print 'OK' ... else : print 'NG' ... NG
0、None、[]、{}、 ""、 などを偽とし、それ以外を真とする。
>>> { "first": "one", ... "second": "two", ... "third": "three" ... }.get("zero", "nothing") 'nothing'
キーに合致したら、その値を返す。
合致しなかったら、"nothing"を返す。
>>> print 4 and 1 1 >>> print 1 and 4 4 >>> print 0 and 4 0 >>> print 4 and 0 0
and の場合、左から順に、偽が見つかるまで評価し、
最初に見つかった偽を返して終了する。
最後まで見つからなかったら、最後の真を返す。
>>> print 4 or 1 4 >>> print 1 or 4 1 >>> print 0 or 4 4 >>> print 4 or 0 4
or の場合、左から順に、真が見つかるまで評価し、
最初に見つかった真を返して終了する。
最後まで見つからなかったら、最後の偽を返す。
>>> a = 3 if 1 else 8; print a 3 >>> a = 3 if 0 else 8; print a 8 >>> >>> a = ((1 and 3) or 8); print a 3 >>> a = ((0 and 3) or 8); print a 8
ただしこの場合、and の後ろは必ず真でないと、前が真でも偽でも、 8 しか返らなくなる。
>>> a = [3, 5][bool (1)]; print a 5 >>> a = [3, 5][bool (0)]; print a 3
リンクはご自由にどうぞ。でもURLや内容が変った場合はあしからず。