akuruhinode's blog

pythonやC#を中心に興味を持った内容について調べています。

Python 制御文の記述方法

はじめに

ここでは、条件文やループ文などのPythonの制御文を整理します。

基本的な記述方法

基本的な記述方法は以下の通りです。

  • キーワード + 条件式 + コロン(:)という構成の行で始まる
  • 必要に応じて次の行に「節」と呼ばれるコードのブロックが続く
  • コードのブロックは、コードの字下げ*1で指定する
  • コードのブロックの中にはほかのブロックを含めることができる
  • 字下げがなくなるか、上位ブロックの字下げに戻るとブロックは終了する

条件文

if文

if文の節は条件式がTrueの場合に実行されます。

if 条件式:
    処理 # 条件式がTrueの場合に実行

elif文

if文やelif文に続けて記述します。
「else if」を意味し、それ以前の条件式がFalseだった場合に限り条件式を判定します。

if 条件式:
    処理 # 条件式がTrueの場合に実行
elif 条件式:
    処理 # 前の条件式がFalseかつ条件式がTrueの場合に実行

else文

if文やelif文に続けて記述します。
if文またはelif文の条件がFalseの場合にelse節が実行されます。

if 条件式:
    処理 # 条件式がTrueの場合に実行
else:
    処理 # 条件式がFalseの場合に実行

使用例

if文、else文、elif文の使用例は以下の通りです。

print('名前を入力してください')
name = input()
if name == 'taro':
    print('こんにちはtaroさん')
elif name == 'hanako':
    print('こんにちはhanakoさん')
else:
    print('名前が間違っています')

ループ文

while文

条件式がTrueの間、While節が繰り返し実行されます。

while 条件式:
    処理 # 条件式がTrueの間繰り返し実行

forループ文

一定の回数だけコードのブロックを繰り返し実行します。
forループではrange()関数を用いることで、連続した値をループごとに取得します。現在の値は変数に格納されます。

for 変数名 in 引数を指定してrange()を呼び出し:
    処理 # 一定回数繰り返し実行

range()関数の指定方法

range()関数に渡す引数の数に応じて、開始、終了、ステップ数が異なります。

引数を1つ指定した場合
内容
開始 0
終了 第1引数の値-1
ステップ数
for i in range(5):
    print(str(i))
0
1
2
3
4
引数を2つ指定した場合
内容
開始 第1引数
終了 第2引数の値-1
ステップ数
for i in range(12, 16):
    print(str(i))
12
13
14
15
引数を3つ指定した場合
内容
開始 第1引数
終了 第2引数の値-1
ステップ数 第3引数
for i in range(1, 7, 2):
    print(str(i))
1
3
5
7

break文

プログラム実行がbreak文に到達すると、即座にwhileループ節またはforループ節を抜け出します。

while 条件式:
    if 条件式:
        break:

continue文

プログラム実行がcontinue文に到達すると、即座にwhileループ節またはforループ節の先頭に戻ります。

while 条件式:
    if 条件式:
        continue:

使用例

while文、break文、continue文の使用例は以下の通りです。

while True:
    print('名前を入力してください')
    name = input()
    if name != 'taro':
        continue:
    print('こんにちはtaroさん、パスワードを入力してください')
    password = input()
    if password == "password":
        break:
print('認証しました')

*1:Python標準のコーディングスタイルでは4文字のスペースを入れる。Googleのスタイルは2文字