Pythonの学習を始めると、最初に出会うのが「データ型」や「制御構文」といった、たくさんの基本的なルールです。
私自身、現在進行形で学んでいる最中ですが、頭の中を整理するために、この基本ルールについて自分なりにまとめてみることにしました。
この記事が、同じようにPythonの学習を始めた方の、思考の整理の助けになれば嬉しいです。
データを扱うための「型」たち
プログラミングでは、文字や数字といった様々な種類のデータを扱います。Pythonには、それらを区別するための「型」が用意されています。
基本的なデータ型
まずは、最も基本的な4つの型です。
str
(文字列): “こんにちは” のような文字の並び。int
(整数):100
のような小数点のない数字。float
(浮動小数点数):3.14
のような小数点のある数字。bool
(真偽値):True
(正しい)かFalse
(間違い)のどちらか。
message = "Hello, Python" # str
count = 10 # int
pi = 3.14 # float
is_ok = True # bool
複数のデータをまとめるデータ型
次に、複数のデータを一つの変数にまとめて格納するための、便利な「コレクション」と呼ばれる型を4つ紹介します。
1. リスト (list)
複数のデータを順番に格納します。中身の変更(追加、削除、書き換え)が自由にできます。
# 3つの文字列を格納したリスト
fruits = ["apple", "banana", "orange"]
print(fruits[0]) # -> apple
fruits.append("grape") # grapeを追加
2. 辞書 (dict)
キーと値をペアにして格納します。特定のキーを指定して、対応する値を素早く取り出せます。
# プロフィール情報を格納した辞書
profile = {"name": "Sora", "age": 30}
print(profile["name"]) # -> Sora
profile["skill"] = "Python" # 新しい情報を追加
3. タプル (tuple)
リストと似ていますが、一度作成したら中身を変更できないという重要なルールがあります。変更されると困る、固定のデータを扱うのに適しています。
# 変更不可のRGBカラーコード
red_color = (255, 0, 0)
# red_color[0] = 200 # このような変更はエラーになる
4. セット (set)
重複する値を持たず、順序もないコレクションです。リストから重複を削除したり、ある要素が含まれているかを高速にチェックするのに使われます。
# セットを作成すると、重複した'apple'は自動的に1つになる
fruits_set = {"apple", "banana", "orange", "apple"}
print(fruits_set) # -> {'orange', 'banana', 'apple'}
プログラムの流れを操る「制御構文」
次に、プログラムの実行順序をコントロールするための命令を学びましょう。Pythonでは、{}
の代わりにインデント(字下げ)でコードの範囲を示すのが大きな特徴です。
if文(もし〜なら)
条件によって、実行する処理を分岐させます。
age = 20
if age >= 20:
print("あなたは成人です。")
elif age == 0:
print("あなたは生まれたばかりです。")
else:
print("あなたは未成年です。")
for文(順番に繰り返す)
リストなどのコレクションから、要素を一つずつ取り出して繰り返し処理を行います。
fruits = ["apple", "banana", "orange"]
for fruit in fruits:
print(f"{fruit}はおいしい。")
while文(条件が合う限り繰り返す)
指定した条件が True
である限り、処理を無限に繰り返します。
n = 0
while n < 3:
print(f"nは{n}です。")
n = n + 1 # nを1ずつ増やさないと、無限ループになるので注意!
break と continue(ループの脱出とスキップ)
ループの挙動を途中で変えるための命令です。
break
: ループを完全に中断し、抜け出します。continue
: その回の処理だけをスキップし、次の繰り返しに進みます。
# 3を見つけたらループを止める
for i in range(1, 10):
if i == 3:
break
print(i) # -> 1, 2 が表示される
# 偶数だけをスキップする
for i in range(1, 6):
if i % 2 == 0:
continue
print(i) # -> 1, 3, 5 が表示される
match文(値に応じて分岐する)
Python 3.10から追加された、他の言語のswitch-case
文に似た機能です。変数の値に応じて、処理を綺麗に書き分けられます。
http_status = 404
match http_status:
case 200:
print("OK")
case 404:
print("Not Found")
case 500:
print("Server Error")
case _: # どの条件にも当てはまらない場合
print("Unknown Status")
まとめ
以上が、私が現時点で理解しているPythonの基本的な「部品」たちです。
まだまだ奥は深いですが、まずはこれらの部品の使い方に慣れることが、次への一歩だと感じています。
この学習記録が、あなたの助けにもなれば幸いです。
コメント