Site icon imageTomoMemo.dev

Memo on programming. Provided by Tomo with passion.

【補足】Pythonのfor文はforeach文の役割も持っている

Icon in a callout block
Python 100Days Challenge Day12

Pythonにおけるforeach文、実はfor文がその役割を担っているので補足記事となる。

phpと書き方を比較してみる。

for文についてはこちら。

📄Arrow icon of a page linkPythonのループ処理「for文とwhile文」

foreachの機能を担うfor文

# 基本構文
for 出力対象 in 反復対象(リストやシーケンス):
    # 出力対象に対して行いたい処理を書く

基本構文を踏まえて下記コードを解説すると、果物のリスト(fruits)から1つずつ果物(fruit)を取り出し、取り出した果物を出力する、これがPythonにおけるfor文。

# リストの要素を出力する
fruits = ['apple', 'banana', 'cherry'] # 果物のリストを定義
for fruit in fruits: # 各果物(fruit)を順番に取り出す
    print(fruits) # # 各果物(fruit)を順番に出力

> 
['apple', 'banana', 'cherry']
['apple', 'banana', 'cherry']
['apple', 'banana', 'cherry']

phpと書き方を比較する

phpではfor文とforeach文は別物。

まずはfor文。

これは決まった回数だけ繰り返し処理をするために使うやり方。繰り返す回数も自分で指定する。

# phpの書き方
for (初期化; 条件; 更新) {
    # 実行するコード
}
  • $i = 0;:初期化部分
    • ループを始めるとき一度だけ実行される値
  • $i < 10; :条件部分
    • ループが続く条件を定義
    • この書き方は$i が10未満である間ループを続ける、という意味になる
  • $i++:増加部分(++で何となく予想はできるはず)
    • ループが1回実行されるごとに行われる

関数の中に取り出した各要素に対して実行する処理を書く

0から9までの数字を順番に表示したい場合はこう書く。

for ($i = 0; $i < 10; $i++) {
    echo $i . "\n";
}

> 0123456789

つづいて、foreach文。

これはプログラムでリストや配列の中にある複数の値を1つずつ取り出して処理するときに使う方法。

# phpの書き方
foreach ($配列 as $値) {
    # 実行するコード
}
  • $配列:複数の値を持っているリストや配列のこと
  • $値:配列の中から順番に取り出される各要素

関数の中に取り出した各要素に対して実行する処理を書く

// 友達の名前が入った配列を作成
$friends = ['Avigail', 'Bob', 'Calvin'];

// foreach文を使って配列の要素を1つずつ取り出して処理する
foreach ($friends as $name) {
    echo $name . "\n";
}

> 
Avigail
Bob
Calvin

Memo on programming by Tomo.

Powered by Tomo with passion.