未経験から始めるPython基礎③|データ型と変数の基礎

5 min 59 views
Python基礎講座3データ型

Pythonを学び始めると必ず出てくるのが「データ型」という考え方です。
この記事では、Pythonの主要なデータ型(整数・文字列・リスト・辞書)を中心に、初心者にも理解しやすいように整理して解説します。

🔹 1. Pythonのデータ型とは?

プログラムの中で扱う値には「種類(型)」があります。
これを データ型(Data Type)と呼びます。

データ型説明
int(整数型)整数を扱う10, -5, 1000
float(浮動小数点)小数を扱う3.14, -0.5
str(文字列型)文字列を扱う“Python”, ‘AI’
list(リスト型)複数の値をまとめて扱う[1, 2, 3], [“a”, “b”]
dict(辞書型)キーと値のペアで扱う{“name”: “Tanaka”, “age”: 30}

Pythonは動的型付け言語のため、変数に代入すると自動的に型が決まります。
つまり、JavaやC言語のように「型宣言」は不要です。

x = 5
print(x)  # 出力: 5

x = "Python"
print(x)  # 出力: Python

➡ 同じ変数xに整数→文字列を代入しても問題ありません。

🔹 2. データ型を確認してみよう

型を確認するには、組み込み関数type()を使います。

print(type(10))       # <class 'int'>
print(type("Hello"))  # <class 'str'>
print(type([1, 2]))   # <class 'list'>

🔹 3. 数値型(int / float / complex)

Pythonには3種類の数値型があります。

種類型名説明
整数int10, -5小数点なしの数値
小数float3.14, -0.5小数点を含む数値
複素数complex3 + 2j高度な数値演算で使用(通常はほぼ使わない)
print(type(3))    # <class 'int'>
print(type(3.14)) # <class 'float'>
print(type(3j))   # <class 'complex'>

🔹 4. 文字列型(str)

文字列は ' ' または " " で囲みます。
複数行の場合は """ """ で囲むのが便利です。

str1 = 'Hello'
str2 = "World"
str3 = """Hello
Python"""

🔸 文字列の結合と反復

操作記号説明
結合+文字列をつなぐ"Hello" + "World""HelloWorld"
反復*文字列を繰り返す"Hi" * 3"HiHiHi"
print("Python" + "3")  # Python3
print("AI!" * 3)       # AI!AI!AI!

🔹 5. 型変換(キャスト)

異なる型を結合するとエラーになります。

name = "Tom"
age = 24

# これはエラー
print("My name is " + name + " and I'm " + age)
TypeError: can only concatenate str (not "int") to str

➡ 解決方法は 型変換(キャスト)です。

print("My name is " + name + " and I'm " + str(age))
関数変換内容
str()数値 → 文字列str(100)"100"
int()文字列 → 整数int("100")100
float()文字列 → 小数float("3.14")3.14

🔹 6. リスト型(list)

リストは複数の値を1つの変数で管理できるデータ型です。
書き方は、角括弧 [] で囲み、カンマで区切ります。

fruits = ["apple", "banana", "orange"]
print(fruits)  # ['apple', 'banana', 'orange']

リストの要素は インデックス番号(0から) でアクセスします。

print(fruits[0])  # apple
print(fruits[2])  # orange

存在しないインデックスにアクセスすると IndexError が発生します。

🔸 要素の追加

fruits.append("grape")
print(fruits)  # ['apple', 'banana', 'orange', 'grape']

🔸 リストを変数名にしない!

list = [1, 2, 3]  # ❌ NG:組み込み関数list()を上書き
del list          # ✅ delで削除すれば復活できる

🔹 7. 辞書型(dict)

辞書は キーと値(key:value) をペアで管理します。
データをラベル付きで扱いたい時に便利です。

profile = {"name": "Tanaka", "email": "test@example.com"}
print(profile["name"])   # Tanaka
print(profile["email"])  # test@example.com

🔸 辞書の追加方法

profile["age"] = 30        # 代入で追加
profile.update({"city": "Tokyo"})  # updateで追加
print(profile)
操作方法特徴
= で追加高速・シンプル
update()可読性が高い(辞書ごとまとめて追加可)

🔹 8. リスト型と辞書型の違い

比較項目リスト型(list)辞書型(dict)
構文[]{}
アクセス方法インデックス番号キー名
順序Python 3.7以降は保持される保持される
データの検索位置指定名前(キー)指定
用途順番のあるデータ名前付きデータ

🔹 9. 演習問題(基礎確認)

1️⃣ 2017〜2021を要素に持つリスト years_list を作成
2️⃣ years_list から2020年と2021年を出力
3️⃣ 好きな文字列3つを含むリストを作成
4️⃣ そのリストの末尾に新しい文字列を追加
5️⃣ 名前と年齢のペアを持つ辞書を3人分作成
6️⃣ 辞書 profile = {"name": "tanaka", "email": "test@aiacademy.jp"} からメールを出力

答えはまとめの下に説明込みで記事にしています。

✅ まとめ

  • Pythonは「動的型付け」で型宣言が不要
  • 型を確認するには type() を使用
  • 文字列の連結では +、繰り返しでは * を使用
  • 異なる型の結合には「キャスト」が必要
  • リストは順序で、辞書はキーでアクセス

どちらも日常的に使う基本型なので、しっかり身につけておきましょう。

Pythonデータ型|演習問題の解答と解説【初学者向け】

ここでは、前回紹介した演習問題を実際にコードで解きながら、1つずつ丁寧に解説していきます。
すべて Python 3.12 以降で動作確認済みです。

🔹 Q1. 2017年から2021年までの要素を持ったリストを作る

years_list = [2017, 2018, 2019, 2020, 2021]
print(years_list)

▶ 解説:
[](角括弧)で囲むことで、複数の値を1つの変数にまとめることができます。
このようなデータ構造を「リスト(list)」と呼びます。

🔹 Q2. years_list から 2020年を取り出して出力

print(years_list[3])

▶ 解説:
リストの要素は 0から数える ため、
2017 → index 02018 → index 12019 → index 22020 → index 3 です。
そのため years_list[3] で 2020 が取得できます。

🔹 Q3. years_list から 2021年を出力

print(years_list[-1])

▶ 解説:
インデックスは後ろからも指定できます。
-1 は「最後の要素」を意味します。
このように負のインデックスを使うと、末尾から簡単にアクセスできます。

🔹 Q4. 好きな文字列3つを要素にしてリストを作る

languages = ["Python", "JavaScript", "HTML"]
print(languages)

▶ 解説:
文字列(str型)を要素に持つリストです。
リストには異なる型(数値や文字列など)を混在させることもできますが、
同じ型でそろえると扱いやすくなります。

🔹 Q5. 4で作ったリストの末尾に新しい要素を追加

languages.append("CSS")
print(languages)

▶ 解説:
append() メソッドを使うと、リストの最後に新しい要素を追加できます。
追加は1要素ずつ行うのが基本です。

🔹 Q6. 名前と年齢のペアが3つある辞書型を作る

people = {
    "tanaka": 28,
    "suzuki": 34,
    "yamada": 22
}
print(people)

▶ 解説:
辞書型(dict)は {} を使い、キーと値(key:value) のペアでデータを管理します。
"tanaka" というキーに 28 という値が対応しています。
アクセスするには次のように書きます。

print(people["tanaka"])  # 28

🔹 Q7. 辞書からメールアドレス部分を出力する

profile = {"name": "tanaka", "email": "test@aiacademy.jp"}
print(profile["email"])

▶ 解説:
辞書は「キー」を指定して値を取り出します。
この場合、キー "email" に対応する値 "test@aiacademy.jp" が出力されます。

 まとめ:学んだポイント

内容キー操作覚えておくポイント
リスト[index]インデックスは0から始まる。負の数で末尾からも指定可。
リスト追加.append()末尾に1つ追加する。
辞書{key: value}キーと値のペアで管理する。
辞書アクセスdict["key"]キーを指定して値を取り出す。
関連記事