Python3 基本構文
Pythonを書く機会があったのでよく使う構文をまとめます。
0. インデント
Pythonではインデントを落とした部分が処理ブロックになるので、if 条件:
やfor ~ in ~:
などの後はインデントを落としましょう。
1. 変数定義
Pythonは動的型付け言語なので、変数宣言時に型宣言は必要ありませんが、定義した変数が何型(整数, 浮動小数, 文字列, 真偽値, ...)なのか常に意識して書くと、コーディング時にキャスト(型変換)が必要かどうかの判断が容易になったり、他言語でも型で苦労することは無くなると思います。
# ==================================
# ------------- 変数定義 ------------
# ==================================
# Integer(整数)型
num1 = 10
num2 = -3
# Float(浮動小数)型
num3 = 1.5
num4 = -2.5
# String(文字列)型
text = 'こんばんは、山下です。'
# Bool(真偽値)型
condition1 = True # TrueのTは大文字で!!
condition2 = False # FalseのFは大文字で!!
2. 標準出力
コンソールに出力する際に使用するprint()
関数です。
# ==================================
# ------------- 標準出力 ------------
# ==================================
# 1. print関数の引数に直接String型の文字列を渡して出力
print('こんにちは、山本です。')
#
# === 結果: こんにちは、山本です。
#
# 2. 一度変数textにString型の文字列を代入し、print関数に変数textを渡して出力
text = 'こんにちは、山本です。'
print(text)
#
# === 結果: こんにちは、山本です。
#
# 3. 文字列を連結する際は「+」を使う
jp_fruit = 'りんご'
en_fruit = 'apple'
print('「' + jp_fruit + '」は、英語で「' + en_fruit + '」です。')
#
# === 結果: 「りんご」は、英語で「apple」です。
#
3. if文(条件分岐)
プログラムの基本の条件分岐です。if 条件
の条件を満たす時にTrue
が返されます。
if 条件1:
# 条件1が真(True)の時の処理
elif 条件2:
# 条件1が偽(False)で条件2が真(True)の時の処理
else:
# 条件1と条件2のどちらとも偽(False)の時の処理
コード例は以下の通りです。
# ==================================
# ---------- 条件分岐 その1 ----------
# ==================================
num1 = 10
if num1 == 5:
# 実行されない...
print('num1と5は等しい')
elif num1 == 10:
# 実行される!!!
print('num1と10は等しい')
else:
# 実行されない...
print('num1は5と10の両方とも等しくない')
#
# === 結果: num1と10は等しい
#
# ==================================
# ---------- 条件分岐 その2 ----------
# ==================================
jp_fruit = 'りんご'
en_fruit = 'apple'
if jp_fruit != en_fruit:
# 実行される!!
print('文字列として' + jp_fruit + 'と' + en_fruit + 'は等しくない')
#
# === 結果: 文字列としてりんごとappleは等しくない
#
4. for文(繰り返し処理)
同じ又は似通った処理を行う際に使うのが繰り返し処理であるfor文です。
for 変数 in オブジェクト:
# 繰り返し処理
変数は1週ごとにオブジェクトから次々取り出す要素が代入されます。forに記述するオブジェクトは、以下のようなものがあります。
1. range(繰り返しする回数)
# list(range(5))でリストに変換すると...
#
# === [0, 1, 2, 3, 4]
#
2. 配列
# fruits = ['りんご', 'メロン', 'ぶどう']
#
# === ['りんご', 'メロン', 'ぶどう']
#
rangeではfor 変数 in
の変数
に、繰り返し1回目は0、繰り返し2回目は1というように、0〜4までの値が渡され、繰り返し処理が0〜4の要素数の合計である5回行われます。
と言っても最初はrangeの中身は気にしなくてもfor文が使えれば良いので、単純な繰り返し処理なら要はrange()
の()には繰り返す回数を数値で代入しておけば良いと覚えてください。
# ==================================
# --------- 繰り返し処理 for 1 --------
# ==================================
for i in range(5):
print(str(i) + '回目')
# rangeは引数を増やしてこの様な書き方もできます(0以上5未満で繰り返し)
for i in range(0, 5):
print(str(i) + '回目')
# === 結果:
# 0回目
# 1回目
# 2回目
# 3回目
# 4回目
# ==================================
# --------- 繰り返し処理 for 2 --------
# ==================================
fruits = ['りんご', 'メロン', 'ぶどう']
for fruit in fruits:
print('果物: ' + fruit)
# === 結果:
# 果物: りんご
# 果物: メロン
# 果物: ぶどう
5. while文(ループ処理)
for文と同様に繰り返し処理を行いますが、while文は若干異なり、for文ではあらかじめ繰り返し回数を指定していますが、while文では条件を満たす限り処理をし続けるというのが特徴です。
while 条件式:
# 条件が真(条件を満たす)の時に実行する処理
条件式の書き方はif文と同じで、その条件が真(True)となる間処理をし続けます。
以下のループではprintの前にcountを増やしているので、countの初期値が0でも「1回目」からコンソールに表示されます
# ==================================
# --------- ループ処理 while 1 -------
# ==================================
count = 0
while count < 5:
count += 1
print(str(count) + '回目')
# === 結果:
# 1回目
# 2回目
# 3回目
# 4回目
# 5回目
以下のループは中断をしないと「無限ループ」と呼ばれるもので、条件が永遠に真(True)のままなので処理が終了しません。終了させるためには必ず処理部にbreakを記述しましょう。以下の例ではループ処理1と同様に処理が終了するように記述しています。
# ==================================
# --------- ループ処理 while 2 -------
# ==================================
count = 0
while True:
count += 1
print(str(count) + '回目')
# countが4を超えた場合にループ処理を終了する
if 4 < count:
break
# === 結果:
# 1回目
# 2回目
# 3回目
# 4回目
# 5回目