$ python Python 2.4.3 (#2, Jan 30 2007, 14:17:40) [GCC 4.1.1 20060724 (prerelease) (4.1.1-3mdk)] on linux2 Type "help", "copyright", "credits" or "license" for more information. >>> bool(1) True >>> 1 and True or False True >>> 1!=0 True >>> from timeit import Timer >>> Timer('bool(1)').timeit() 0.58322691917419434 >>> Timer('1 and True or False').timeit() 0.21169519424438477 >>> Timer('1!=0').timeit() 0.16740703582763672
boolって、TrueやFalseのclassになる以外に、何か使い道があるのだろうか。 どうしてここまで遅いんだろうなあ。 呼出しのオーバーヘッド? これ専用に(バイトコードを)最適化してもいいと思うんだけど。