[Python] loop
C/C++ を知っている人から見ると、Python のループ、特に forループ はかなり違和感があると思う。
while ループは、C とほとんど同じだ。
しかし、C では可能な次のようなコードはエラーになる。while 条件文 : 処理~ else: 条件文が False のときの処理~
while ( (hoge = func() ) != NULL)
{
処理~
}
hoge = func() という代入式が条件式の中に使えないのだ。結構不便。
しかし、while ループの違和感は for ループの違和感に比べればかわいいもの。 Python の for ループは C とは全く違う。
ちなみに C/C++ の for ループはこうなる。for 代入ターゲット in シーケンスオブジェクト 処理~ else: 処理~
for( 式1; 条件式; 式2 )
{
処理~
}
Python の for ループでは、C/C++ のそれに( ほとんどの場合 ) 見られるような
カウンタが存在しないのだ。わたしが始めて Python のコードを見たとき、for ループの動作が
全く想像もできなかった理由がここにあった。
| 固定リンク
この記事へのコメントは終了しました。


コメント