【Python】制御構文を勉強する

雑記

はじめに

Pythonの制御構文を勉強します。

制御構文

if文

下記にコメントで説明します。

a = 'dog'
b = 'cat'

#if文の書き方
if a == 'dog':
    print('a is a dog.')
elif a == 'cat':
    print('a is a cat.')
else:
    print('I don\'t know.')

#論理積はand
if a == 'dog' and b == 'cat':
    print('a is a dog and b is a cat.')

#論理和はor
if a == 'dog' or b == 'dog':
    print('a or b is a dog.')

上記の実行結果は下記の通りです。

for文

下記にコメントで説明します。

animals = ['dog', 'cat', 'rabbit']

#for文の書き方
for animal in animals:
    print(animal)

#ループ時にlistの中身を変更する場合は下記のようにコピーを作って
#ループすることで無限ループは防ぐことができる
for animal in animals[:]:
    if animal == 'cat':
        animals.insert(0,'mouse')
print(animals)

上記の実行結果は下記の通りです。

while文

下記にコメントで説明します。

#while文の書き方
x = 0
while x < 5:
    print('x=', x)
    x += 1

上記の実行結果は下記の通りです。

range関数

制御構文ではないのですが、ループと一緒によく使う関数になります。
下記にコメントで説明します。

#range(a)
#a回ループする
print('range(a)')
for i in range(5):
    print(i)

#range(a, b)
#aからb-1までループする
print('range(a, b)')
for i in range(5,8):
    print (i)

#range(a, b, c)
#aからbまでcずつループする
print('range(a, b, c)')
for i in range(0, 100, 10):
    print (i)

上記の実行結果は下記の通りです。

pass, break, continue

下記にコメントで説明します。

animals = ['dog', 'cat', 'rabbit']

#何も処理しない場合はpass
print('pass')
if animals[0] == 'dog':
    pass
else:
    print('0 is not dog.')

#ループ処理を途中で終わる場合はbreak
print('\nbreak')
for animal in animals:
    if animal == 'cat':
        break
    print(animal)

#次のループ処理へ進む場合はcontinue
print('\ncontinue')
for animal in animals:
    if animal == 'cat':
        continue
    print(animal)

上記の実行結果は下記の通りです。

ループ文のelse

下記にコメントで説明します。

#ループ文にelseがある場合
#ループ終了時にelse句の処理をする。
#breakで終了した場合はelse句の処理をしない。
i , j = 0 , 0
for i in range(3):
    print('\nLoop', i)
    for j in range(1):
        if i == 1:
            print('break')
            break
    else:
        print('do else')

上記の実行結果は下記の通りです。

以上が基本的な制御構文になります。

参考サイト

4. More Control Flow Tools
https://docs.python.org/3/tutorial/controlflow.html

検証環境

Windows 10 Pro
Python 3.6.4
Visual Studio Community 2017

コメント