Python – for文の使い方・サンプルコード

[dropcap]P[/dropcap]ythonに限らずですがプログラミング言語の学習において、繰り返し処理はやや難易度が高くなってしまう登竜門のようなものですが、For文とwhile文を同時に学ぶことで違いが理解することができます。一気に頭に定着させてしまいましょう。まずはfor文から学びましょう。

目次

繰り返し処理とは

繰り返し処理とはそのままですが、特定の行為を繰り返すことを指します。プログラミングでは、特定のコードを繰り返すことを指します。例を見てみましょう。例えば、heyを5回呼び出す場合、繰り返し処理をしないとこうなるでしょう。

>>> print('hey')
hey
>>> print('hey')
hey
>>> print('hey')
hey
>>> print('hey')
hey
>>> print('hey')
hey

5回ならまだしも100回あったら堪らないのですね。ここでは繰り返し処理の王道のfor文とwhile文で考えてみましょう。

Forの基本構文

for構文の基本形は以下の通りです。

for 値を入れる変数 in シーケンスその他反復可能なオブジェクト:
    条件式

尚、シーケンスとは、リストはもちろん、タプル、文字列等も含みます。

具体例を見た方がわかりやすいのでいくつか確認していきましょう。まずは先ほどのケースをfor文を使ったら例えばこんな感じで簡単に表現できます。

for _ in range(5):
    print('hey')

hey
hey
hey
hey
hey

ここではリストの部分に数列を入れるrange関数を使っています。range関数のかっこの中が5ですので、0から5の一つ手前まで=4までの数列が入ってることを意味します。4で終わっていますがプログラミングでは0からカウントされるので、0,1,2,3,4と結果的にトータルの数では5になるので、当初の目的であった5回分呼び出すことができます。

range関数について

ここでrange関数の全体感が理解できるように表で例をご紹介します。

例: 結果
range(10) 0~9まで計10
range(1,5) 1から4まで計4
range(0, 10, 2) 0から9まで2ずつ足す = 0, 2, 4, 6, 8
range(-20, -100, -20) -20から-100まで-20ずつ足す = -20, -40, -60, -80

For文その他構文例

まずはrangeではなく数列の場合:

list = [1,2,3]
for i in list:
    print(i)

1
2
3

続いて文字列:

あいうえお
list = 'あいうえお'
for i in list:
    print(i)

あ
い
う
え
お

続いて文字列の配列:

list = ['鈴木','山田', '伊藤']
for i in list:
    print(i)

鈴木
山田
伊藤

続いてif文にbreakを用いた場合:
ifと絡めて、ifの場合はループを抜けてね(breakしてね)という意味です。

for i in ["曾根崎","大和田","中野渡"]:
    if i == "中野渡":
        break
    print(i + '、倍返しだ')

曾根崎、倍返しだ
大和田、倍返しだ

続いてif文にcontinueを用いた場合:
ifの条件式に該当する場合は、以降の処理をスキップしてねという意味です。

for i in ["中野渡","大和田","曾根崎"]:
    if i == "中野渡":
        continue
    print(i + '、倍返しだ')
    
大和田、倍返しだ
曾根崎、倍返しだ

ここでは、中野渡を一番前に持ってきましたが、間違えずにきちんと暴言を吐かずに済みましたね。
ではfor+if+elseをみてみましょう。

for i in ["中野渡","大和田","曾根崎"]:
    if i == "中野渡":
        print(i + '様、お疲れ様です。')
    else:
        print(i + '、倍返しだ!')

中野渡様、お疲れ様です。
大和田、倍返しだ!
曾根崎、倍返しだ!

この方法でも無事失言になりませんでしたね。注意点として、for文と同じレイヤーにelseがあるのではなく、あくまでfor文の中にあるif文と同じレイヤーにelseがある、紐ついていることを認識しましょう。

最後に辞書型でfor文を使うときにどうなるかみてみましょう。

fee_list = {'中野渡':3000, '大和田':1800, '曾根崎':800}
for name,fee in fee_list.items():
    print(name,':',fee)

中野渡 : 3000
大和田 : 1800
曾根崎 : 800

辞書では、ラベルと値セットで呼び出したい場合に、変数は2つ用意すること、inの次のリスト等の表記に.items()をつけること、また呼び出す際も2つセットで呼び出すことですで表示されます。

次はwhile文を学びましょう

同じ繰り返し処理の役割を担うwhile文は学習することで効率的に繰り返し処理をマスターしましょう。

  • URLをコピーしました!

Writer

TIERは、Global、DX、HRの3軸により 大手企業から中小企業、民間企業から行政まで、海外展開に必要なサービスをワンストップで支援しております。海外マーケティングセールスからデジタルマーケティング、多言語サイトや越境ECサイト制作等の海外向けクリエイティブ制作、グローバル人材採用支援まで幅広く対応しております。お気軽にお問い合わせください。

目次