« [Python] IronPython β4 Released | トップページ | IT企業の超階層化構造 »

2006/03/18

[Python] loop

C/C++ を知っている人から見ると、Python のループ、特に forループ はかなり違和感があると思う。

while ループは、C とほとんど同じだ。

while 条件文 : 処理~ else: 条件文が False のときの処理~
しかし、C では可能な次のようなコードはエラーになる。
	while ( (hoge = func() ) != NULL)
	{
		処理~
	}
hoge = func() という代入式が条件式の中に使えないのだ。
結構不便。

しかし、while ループの違和感は for ループの違和感に比べればかわいいもの。 Python の for ループは C とは全く違う。

for 代入ターゲット in シーケンスオブジェクト 処理~ else: 処理~
ちなみに C/C++ の for ループはこうなる。
	for( 式1; 条件式; 式2 )
	{
		処理~
	}
Python の for ループでは、C/C++ のそれに( ほとんどの場合 ) 見られるような カウンタが存在しないのだ。わたしが始めて Python のコードを見たとき、for ループの動作が 全く想像もできなかった理由がここにあった。

|

« [Python] IronPython β4 Released | トップページ | IT企業の超階層化構造 »

コメント

この記事へのコメントは終了しました。

トラックバック


この記事へのトラックバック一覧です: [Python] loop:

« [Python] IronPython β4 Released | トップページ | IT企業の超階層化構造 »