False の上書き
Python 2.5 (r25:51908, Sep 19 2006, 09:52:17) [MSC v.1310 32 bit (Intel)] on win 32 Type "help", "copyright", "credits" or "license" for more information. >>> False False >>> type(False) <type 'bool'> >>> if False: ... print "True?" ... >>> >>> False=True >>> False True >>> if False: ... print "True!" ... True! >>>
えーと、それは __main__.False に __builtins__.True の値を束縛しているだけでは。元の __builtins__.False 自体を上書きしているわけじゃないですよね。__builtins__.False = Trueでも変わらないですけど。Python 2.4 でも同じじゃないですか?
というか、真偽値評価でいうところの False ってのは __builtins__.False に束縛されているオブジェクトって意味ではないでしょう。内部では内部的な値の False オブジェクトと同一(same)かどうか見ているだけでは。
まぁ、そもそも False やら True のやらの組み込みオブジェクトを上書きしたりしないですけど。