作者: Fe2+
日時: 2005/11/30(08:43)
Fe2+ です。

At Tue, 29 Nov 2005 11:34:49 +0900 (JST),
Bruce. wrote:
> 
> 例によって瑣末なことなんですが、Pythonの思想的には
> 
> while True:
> while 1:
> 
> どっちが良いんでしょう?

思想的にですか。True/False を導入したからには、こういうあからさまに真偽
を評価する文脈では True と書くのが筋という気がします。現状では 1 を書く
方が速いのですが、来るべき Python 3.0 で True/False がキーワードになっ
たらコンパイル時に True が真だと判明しますから、その差もなくなるでしょ
う。

現状のスピードの差を最近お気に入りの timeit で比べてみました。

 % python -m timeit 'while 1: break'
1000000 loops, best of 3: 0.696 usec per loop
 % python -m timeit 'while True: break'
1000000 loops, best of 3: 1.2 usec per loop

ループの中身が break なので実際のところループしてませんが、True を評価
する手間がかかって遅くなっているのがわかります。
-- 
MATSUI Fe2+ Tetsushi
 http://homepage3.nifty.com/text/
 (http://lowlife.jp/mft/ for blog)