📦 ステップ4: 変数とデータ型の基礎
プログラミングの基本!データを箱に入れて管理しよう
📖 このステップで学ぶこと
- 変数とは何か、なぜ必要か
- データ型の基本(整数・小数・文字列)
- 変数の命名規則
- print()関数とf-string
- type()関数でデータ型を確認する方法
📦 1. 変数とは何か?
🔰 まず「変数」をイメージしよう
プログラミングを学ぶ上で、最も基本的で重要な概念が「変数」です。
まずは、身近な例で変数をイメージしてみましょう。
🎁 変数は「ラベル付きの箱」
引っ越しを想像してください。荷物を箱に入れて、箱には中身がわかるようにラベルを貼りますよね。
| 実生活 | プログラミング |
| 「本」と書いた箱 → 中に本が入っている | nameという変数 → 「太郎」が入っている |
| 「おもちゃ」と書いた箱 → 中におもちゃが入っている | ageという変数 → 25が入っている |
| 箱の中身を取り出して使う | 変数の中身を取り出して計算や表示に使う |
| 箱の中身を入れ替える | 変数の中身を別の値に変える |
📌 変数の定義:
変数とは、データ(値)を入れておく「名前付きの箱」です。
箱に名前をつけておくことで、後からその名前で中身を取り出したり、変更したりできます。
❓ なぜ変数が必要なの?
変数を使わないと、同じ値を何度も書く必要があります。
変数を使うメリットを見てみましょう。
変数を使わない場合(不便)
print(1000 * (1 + 0.1))
print(1000 * (1 + 0.1) * 2)
print(1000 * (1 + 0.1) * 3)
❌ 価格が変わったら、すべての場所を書き換える必要がある…
変数を使う場合(便利!)
price = 1000
tax_rate = 0.1
print(price * (1 + tax_rate))
print(price * (1 + tax_rate) * 2)
print(price * (1 + tax_rate) * 3)
✅ 価格が変わっても、price = 1000の部分を1箇所変えるだけ!
💡 変数を使うメリット:
- 再利用できる:同じ値を何度も書かなくていい
- 修正が簡単:値を変えたいとき、1箇所だけ変えればOK
- 意味がわかる:
1000よりpriceの方が、何の値かわかりやすい - 計算結果を保存:計算した結果を後で使える
📝 変数を作ってみよう
変数を作ることを「変数を定義する」または「値を代入する」と言います。
📝 やってみよう:
name = “太郎”
age = 25
# 変数の中身を表示
print(name)
print(age)
🔍 コードの意味(1行ずつ解説):
| コード | 何をしている? | イメージ |
| name = “太郎” | 「name」という箱に「太郎」を入れる | 📦name ← “太郎” |
| age = 25 | 「age」という箱に「25」を入れる | 📦age ← 25 |
| print(name) | 「name」の箱の中身を表示する | 📦name → “太郎” を画面に出力 |
| print(age) | 「age」の箱の中身を表示する | 📦age → 25 を画面に出力 |
📤 実行結果:
25
⚠️ 超重要!「=」の意味
プログラミングの「=」は、数学の「等しい」とは違う意味です!
| 数学の「=」 | プログラミングの「=」 |
| 「左と右が等しい」 | 「右の値を左の変数に入れる」 |
| x = 5 → 「xは5と等しい」 | x = 5 → 「xに5を代入する」 |
これを「代入(だいにゅう)」と言います。
「=」は「代入演算子」とも呼ばれます。
🔄 変数の中身を変える
変数は「変わる数」と書くように、中身を後から変えることができます。
score = 80
print(score)
# 値を変える(上書きする)
score = 95
print(score)
📤 実行結果:
95
💡 同じ変数名に新しい値を代入すると、古い値は消えて新しい値に置き換わります。
🔢 2. データ型とは?
🔰 「データ型」を理解しよう
変数に入れられる「データ」には、いくつかの種類があります。
この種類のことを「データ型」と言います。
🎨 日常生活で例えると…
荷物の箱にも、入れるものによって適した箱がありますよね。
| 日常生活 | プログラミング |
| 数字を書くためのマス目ノート | 整数型(int) |
| 細かい数字を書くための電卓 | 小数型(float) |
| 文章を書くための原稿用紙 | 文字列型(str) |
❓ なぜデータ型が重要?
データ型によって、できることが違うからです。
- 数字(整数・小数):計算ができる(足し算、引き算など)
- 文字列:文字を繋げたり、文字数を数えたりできる
データ型を意識しないと、思わぬエラーが起きることがあります。
📊 主なデータ型(今回学ぶ3つ)
| データ型 | 英語名 | 説明 | 例 |
| 整数 | int |
小数点のない数字 | 1, 100, -5, 0 |
| 小数 | float |
小数点のある数字 | 3.14, 0.5, -2.5 |
| 文字列 | str |
文字や文章 | "こんにちは", "100" |
💡 名前の由来:
• int = Integer(整数)の略
• float = Floating Point(浮動小数点)の略
• str = String(文字列)の略
💡 見分けるポイント:
| 見た目 | データ型 | 例 |
| 数字だけ(小数点なし) | 整数(int) | 25 |
| 数字に小数点がある | 小数(float) | 3.14 |
| クォーテーションで囲まれている | 文字列(str) | "25" |
🔢 3. 整数型(int)を使ってみよう
🔰 整数型とは?
整数(せいすう)は、小数点のない数字です。
正の数、負の数、ゼロを扱えます。
整数の例
| 種類 | 例 | 使用場面 |
| 正の整数 | 1, 100, 2024 |
年齢、個数、年 |
| 負の整数 | -5, -100 |
気温、高低差 |
| ゼロ | 0 |
初期値、カウント |
📝 整数型の変数を作ってみよう
age = 25
score = 100
temperature = -5
zero = 0
# 表示する
print(age)
print(score)
print(temperature)
print(zero)
📤 実行結果:
100
-5
0
🧮 整数で計算してみよう
Pythonでは、電卓のように計算ができます。
計算に使う記号を「演算子」と呼びます。
算術演算子一覧
| 記号 | 意味 | 例 | 結果 |
| + | 足し算 | 10 + 5 |
15 |
| – | 引き算 | 10 - 3 |
7 |
| * | 掛け算 | 6 * 7 |
42 |
| / | 割り算 | 10 / 4 |
2.5 |
| // | 整数除算(切り捨て) | 10 // 4 |
2 |
| % | 余り(剰余) | 10 % 3 |
1 |
| ** | 累乗(べき乗) | 2 ** 3 |
8 |
📝 計算を試してみよう:
result1 = 10 + 5
print(result1)
# 引き算
result2 = 20 – 8
print(result2)
# 掛け算
result3 = 6 * 7
print(result3)
# 割り算(結果は小数になる)
result4 = 10 / 3
print(result4)
📤 実行結果:
12
42
3.3333333333333335
⚠️ 重要な注意点:
整数どうしの割り算でも、結果は小数(float)になります!
これはPython 3の仕様です。
result = 10 / 2
print(result) # 5.0 が出力される(5ではなく5.0)
🔢 整数除算と余りの計算
「//」と「%」は少し特殊なので、詳しく説明します。
//(整数除算)とは?
割り算の結果から小数点以下を切り捨てて、整数だけを返します。
print(10 / 3) # 3.3333…
# 整数除算(小数点以下を切り捨て)
print(10 // 3) # 3
%(余り/剰余)とは?
割り算の「余り」を返します。
print(10 % 3) # 1(余りは1)
# 偶数・奇数の判定に使える!
print(10 % 2) # 0(2で割り切れる = 偶数)
print(7 % 2) # 1(2で割り切れない = 奇数)
💧 4. 小数型(float)を使ってみよう
🔰 小数型とは?
小数(しょうすう)は、小数点のある数字です。
英語では「浮動小数点数(Floating Point Number)」と呼ぶので、floatと書きます。
小数の例
| 例 | 使用場面 |
170.5 |
身長(cm) |
65.3 |
体重(kg) |
3.14159 |
円周率(π) |
0.1 |
消費税率(10%) |
1980.0 |
価格(整数でも.0をつけるとfloat) |
📝 小数型の変数を作ってみよう
height = 170.5
weight = 65.3
pi = 3.14159
price = 1980.0
# 表示する
print(height)
print(weight)
print(pi)
print(price)
📤 実行結果:
65.3
3.14159
1980.0
🧮 小数で実用的な計算をしてみよう
小数を使った実用的な計算例を見てみましょう。
例1: 消費税の計算
price = 1000.0
tax_rate = 0.1 # 10%
# 税込価格を計算
total = price * (1 + tax_rate)
print(total)
🔍 コードの意味:
| コード | 計算内容 |
| 1 + tax_rate | 1 + 0.1 = 1.1(110%) |
| price * (1 + tax_rate) | 1000.0 × 1.1 = 1100.0(税込価格) |
📤 実行結果:
例2: 割引計算
price = 1000.0
# 20%引きの割引額を計算
discount = price * 0.2
print(f”割引額: {discount}円”)
# セール価格を計算
sale_price = price – discount
print(f”セール価格: {sale_price}円”)
📤 実行結果:
セール価格: 800.0円
⚠️ 小数の計算には注意!
コンピューターの仕組み上、小数の計算には微小な誤差が出ることがあります。
print(result)
「0.3」になると思いきや、「0.30000000000000004」になります。
これはバグではなく、コンピューターの仕様です。
💡 対処法:
通常の用途では気にしなくてOKです。
お金の計算など精度が重要な場合は、専用のライブラリ(Decimal)を使います。
📝 5. 文字列型(str)を使ってみよう
🔰 文字列型とは?
文字列(もじれつ)は、文字や文章を表すデータです。
英語では「String(ストリング)」と呼ぶので、strと書きます。
📌 文字列の書き方:
文字列は、必ずクォーテーション(引用符)で囲みます。
ダブルクォーテーション(")またはシングルクォーテーション(')を使います。
name1 = “太郎” # ダブルクォーテーション
name2 = ‘花子’ # シングルクォーテーション
📝 文字列型の変数を作ってみよう
name = “太郎”
message = ‘こんにちは’
address = “東京都渋谷区”
email = “taro@example.com”
# 表示する
print(name)
print(message)
print(address)
print(email)
📤 実行結果:
こんにちは
東京都渋谷区
taro@example.com
❓ ダブルとシングル、どちらを使う?
基本的にはどちらでもOKですが、使い分けると便利な場合があります。
| 場面 | 使う方 | 例 |
| 文中にシングルクォートがある | ダブルクォート | “I’m happy” |
| 文中にダブルクォートがある | シングルクォート | ‘彼は”こんにちは”と言った’ |
message1 = “I’m a student”
print(message1)
# 文の中にダブルクォートを使いたい場合
message2 = ‘彼は”こんにちは”と言った’
print(message2)
🔗 文字列の結合(+演算子)
文字列どうしは、+演算子で繋げることができます。
これを「文字列の結合(けつごう)」または「連結(れんけつ)」と言います。
first_name = “太郎”
last_name = “山田”
# 姓 + 名 で氏名を作る
full_name = last_name + first_name
print(full_name)
📤 実行結果:
スペースを入れて結合する
文字列の間にスペースを入れたい場合は、" "(スペース文字列)を挟みます。
last_name = “山田”
# スペースを入れて結合
full_name = last_name + ” “ + first_name
print(full_name)
📤 実行結果:
⚠️ 文字列と数字は直接繋げられない!
文字列と数字を+で繋げようとするとエラーになります。
age = 25
message = “私は” + age + “歳です” # エラー!
解決方法1:数字を文字列に変換する(str()関数を使う)
message = “私は” + str(age) + “歳です”
print(message)
解決方法2:f-stringを使う(おすすめ!次のセクションで詳しく説明)
message = f”私は{age}歳です”
print(message)
🔢 「数字の文字列」に注意!
見た目が同じでも、データ型が違うことがあります。
| 書き方 | データ型 | 計算 |
| 25 | 整数(int) | できる ✅ |
| “25” | 文字列(str) | できない ❌ |
age_int = 25
print(age_int + 1) # 26 が出力される
# 文字列の”25″
age_str = “25”
print(age_str + “1”) # “251” が出力される(繋がっただけ!)
※文字列の"25" + "1"は計算ではなく「結合」なので、「251」になります。
📦 ステップ4: 変数とデータ型の基礎
プログラミングの基本!データを箱に入れて管理しよう
📖 このステップで学ぶこと
- 変数とは何か、なぜ必要か
- データ型の基本(整数・小数・文字列)
- 変数の命名規則
- print()関数とf-string
- type()関数でデータ型を確認する方法
📦 1. 変数とは何か?
🔰 まず「変数」をイメージしよう
プログラミングを学ぶ上で、最も基本的で重要な概念が「変数」です。
まずは、身近な例で変数をイメージしてみましょう。
🎁 変数は「ラベル付きの箱」
引っ越しを想像してください。荷物を箱に入れて、箱には中身がわかるようにラベルを貼りますよね。
| 実生活 | プログラミング |
| 「本」と書いた箱 → 中に本が入っている | nameという変数 → 「太郎」が入っている |
| 「おもちゃ」と書いた箱 → 中におもちゃが入っている | ageという変数 → 25が入っている |
| 箱の中身を取り出して使う | 変数の中身を取り出して計算や表示に使う |
| 箱の中身を入れ替える | 変数の中身を別の値に変える |
📌 変数の定義:
変数とは、データ(値)を入れておく「名前付きの箱」です。
箱に名前をつけておくことで、後からその名前で中身を取り出したり、変更したりできます。
❓ なぜ変数が必要なの?
変数を使わないと、同じ値を何度も書く必要があります。
変数を使うメリットを見てみましょう。
変数を使わない場合(不便)
print(1000 * (1 + 0.1))
print(1000 * (1 + 0.1) * 2)
print(1000 * (1 + 0.1) * 3)
❌ 価格が変わったら、すべての場所を書き換える必要がある…
変数を使う場合(便利!)
price = 1000
tax_rate = 0.1
print(price * (1 + tax_rate))
print(price * (1 + tax_rate) * 2)
print(price * (1 + tax_rate) * 3)
✅ 価格が変わっても、price = 1000の部分を1箇所変えるだけ!
💡 変数を使うメリット:
- 再利用できる:同じ値を何度も書かなくていい
- 修正が簡単:値を変えたいとき、1箇所だけ変えればOK
- 意味がわかる:
1000よりpriceの方が、何の値かわかりやすい - 計算結果を保存:計算した結果を後で使える
📝 変数を作ってみよう
変数を作ることを「変数を定義する」または「値を代入する」と言います。
📝 やってみよう:
name = “太郎”
age = 25
# 変数の中身を表示
print(name)
print(age)
🔍 コードの意味(1行ずつ解説):
| コード | 何をしている? | イメージ |
| name = “太郎” | 「name」という箱に「太郎」を入れる | 📦name ← “太郎” |
| age = 25 | 「age」という箱に「25」を入れる | 📦age ← 25 |
| print(name) | 「name」の箱の中身を表示する | 📦name → “太郎” を画面に出力 |
| print(age) | 「age」の箱の中身を表示する | 📦age → 25 を画面に出力 |
📤 実行結果:
25
⚠️ 超重要!「=」の意味
プログラミングの「=」は、数学の「等しい」とは違う意味です!
| 数学の「=」 | プログラミングの「=」 |
| 「左と右が等しい」 | 「右の値を左の変数に入れる」 |
| x = 5 → 「xは5と等しい」 | x = 5 → 「xに5を代入する」 |
これを「代入(だいにゅう)」と言います。
「=」は「代入演算子」とも呼ばれます。
🔄 変数の中身を変える
変数は「変わる数」と書くように、中身を後から変えることができます。
score = 80
print(score)
# 値を変える(上書きする)
score = 95
print(score)
📤 実行結果:
95
💡 同じ変数名に新しい値を代入すると、古い値は消えて新しい値に置き換わります。
🔢 2. データ型とは?
🔰 「データ型」を理解しよう
変数に入れられる「データ」には、いくつかの種類があります。
この種類のことを「データ型」と言います。
🎨 日常生活で例えると…
荷物の箱にも、入れるものによって適した箱がありますよね。
| 日常生活 | プログラミング |
| 数字を書くためのマス目ノート | 整数型(int) |
| 細かい数字を書くための電卓 | 小数型(float) |
| 文章を書くための原稿用紙 | 文字列型(str) |
❓ なぜデータ型が重要?
データ型によって、できることが違うからです。
- 数字(整数・小数):計算ができる(足し算、引き算など)
- 文字列:文字を繋げたり、文字数を数えたりできる
データ型を意識しないと、思わぬエラーが起きることがあります。
📊 主なデータ型(今回学ぶ3つ)
| データ型 | 英語名 | 説明 | 例 |
| 整数 | int |
小数点のない数字 | 1, 100, -5, 0 |
| 小数 | float |
小数点のある数字 | 3.14, 0.5, -2.5 |
| 文字列 | str |
文字や文章 | "こんにちは", "100" |
💡 名前の由来:
• int = Integer(整数)の略
• float = Floating Point(浮動小数点)の略
• str = String(文字列)の略
💡 見分けるポイント:
| 見た目 | データ型 | 例 |
| 数字だけ(小数点なし) | 整数(int) | 25 |
| 数字に小数点がある | 小数(float) | 3.14 |
| クォーテーションで囲まれている | 文字列(str) | "25" |
🔢 3. 整数型(int)を使ってみよう
🔰 整数型とは?
整数(せいすう)は、小数点のない数字です。
正の数、負の数、ゼロを扱えます。
整数の例
| 種類 | 例 | 使用場面 |
| 正の整数 | 1, 100, 2024 |
年齢、個数、年 |
| 負の整数 | -5, -100 |
気温、高低差 |
| ゼロ | 0 |
初期値、カウント |
📝 整数型の変数を作ってみよう
age = 25
score = 100
temperature = -5
zero = 0
# 表示する
print(age)
print(score)
print(temperature)
print(zero)
📤 実行結果:
100
-5
0
🧮 整数で計算してみよう
Pythonでは、電卓のように計算ができます。
計算に使う記号を「演算子」と呼びます。
算術演算子一覧
| 記号 | 意味 | 例 | 結果 |
| + | 足し算 | 10 + 5 |
15 |
| – | 引き算 | 10 - 3 |
7 |
| * | 掛け算 | 6 * 7 |
42 |
| / | 割り算 | 10 / 4 |
2.5 |
| // | 整数除算(切り捨て) | 10 // 4 |
2 |
| % | 余り(剰余) | 10 % 3 |
1 |
| ** | 累乗(べき乗) | 2 ** 3 |
8 |
📝 計算を試してみよう:
result1 = 10 + 5
print(result1)
# 引き算
result2 = 20 – 8
print(result2)
# 掛け算
result3 = 6 * 7
print(result3)
# 割り算(結果は小数になる)
result4 = 10 / 3
print(result4)
📤 実行結果:
12
42
3.3333333333333335
⚠️ 重要な注意点:
整数どうしの割り算でも、結果は小数(float)になります!
これはPython 3の仕様です。
result = 10 / 2
print(result) # 5.0 が出力される(5ではなく5.0)
🔢 整数除算と余りの計算
「//」と「%」は少し特殊なので、詳しく説明します。
//(整数除算)とは?
割り算の結果から小数点以下を切り捨てて、整数だけを返します。
print(10 / 3) # 3.3333…
# 整数除算(小数点以下を切り捨て)
print(10 // 3) # 3
%(余り/剰余)とは?
割り算の「余り」を返します。
print(10 % 3) # 1(余りは1)
# 偶数・奇数の判定に使える!
print(10 % 2) # 0(2で割り切れる = 偶数)
print(7 % 2) # 1(2で割り切れない = 奇数)
💧 4. 小数型(float)を使ってみよう
🔰 小数型とは?
小数(しょうすう)は、小数点のある数字です。
英語では「浮動小数点数(Floating Point Number)」と呼ぶので、floatと書きます。
小数の例
| 例 | 使用場面 |
170.5 |
身長(cm) |
65.3 |
体重(kg) |
3.14159 |
円周率(π) |
0.1 |
消費税率(10%) |
1980.0 |
価格(整数でも.0をつけるとfloat) |
📝 小数型の変数を作ってみよう
height = 170.5
weight = 65.3
pi = 3.14159
price = 1980.0
# 表示する
print(height)
print(weight)
print(pi)
print(price)
📤 実行結果:
65.3
3.14159
1980.0
🧮 小数で実用的な計算をしてみよう
小数を使った実用的な計算例を見てみましょう。
例1: 消費税の計算
price = 1000.0
tax_rate = 0.1 # 10%
# 税込価格を計算
total = price * (1 + tax_rate)
print(total)
🔍 コードの意味:
| コード | 計算内容 |
| 1 + tax_rate | 1 + 0.1 = 1.1(110%) |
| price * (1 + tax_rate) | 1000.0 × 1.1 = 1100.0(税込価格) |
📤 実行結果:
例2: 割引計算
price = 1000.0
# 20%引きの割引額を計算
discount = price * 0.2
print(f”割引額: {discount}円”)
# セール価格を計算
sale_price = price – discount
print(f”セール価格: {sale_price}円”)
📤 実行結果:
セール価格: 800.0円
⚠️ 小数の計算には注意!
コンピューターの仕組み上、小数の計算には微小な誤差が出ることがあります。
print(result)
「0.3」になると思いきや、「0.30000000000000004」になります。
これはバグではなく、コンピューターの仕様です。
💡 対処法:
通常の用途では気にしなくてOKです。
お金の計算など精度が重要な場合は、専用のライブラリ(Decimal)を使います。
📝 5. 文字列型(str)を使ってみよう
🔰 文字列型とは?
文字列(もじれつ)は、文字や文章を表すデータです。
英語では「String(ストリング)」と呼ぶので、strと書きます。
📌 文字列の書き方:
文字列は、必ずクォーテーション(引用符)で囲みます。
ダブルクォーテーション(")またはシングルクォーテーション(')を使います。
name1 = “太郎” # ダブルクォーテーション
name2 = ‘花子’ # シングルクォーテーション
📝 文字列型の変数を作ってみよう
name = “太郎”
message = ‘こんにちは’
address = “東京都渋谷区”
email = “taro@example.com”
# 表示する
print(name)
print(message)
print(address)
print(email)
📤 実行結果:
こんにちは
東京都渋谷区
taro@example.com
❓ ダブルとシングル、どちらを使う?
基本的にはどちらでもOKですが、使い分けると便利な場合があります。
| 場面 | 使う方 | 例 |
| 文中にシングルクォートがある | ダブルクォート | “I’m happy” |
| 文中にダブルクォートがある | シングルクォート | ‘彼は”こんにちは”と言った’ |
message1 = “I’m a student”
print(message1)
# 文の中にダブルクォートを使いたい場合
message2 = ‘彼は”こんにちは”と言った’
print(message2)
🔗 文字列の結合(+演算子)
文字列どうしは、+演算子で繋げることができます。
これを「文字列の結合(けつごう)」または「連結(れんけつ)」と言います。
first_name = “太郎”
last_name = “山田”
# 姓 + 名 で氏名を作る
full_name = last_name + first_name
print(full_name)
📤 実行結果:
スペースを入れて結合する
文字列の間にスペースを入れたい場合は、" "(スペース文字列)を挟みます。
last_name = “山田”
# スペースを入れて結合
full_name = last_name + ” “ + first_name
print(full_name)
📤 実行結果:
⚠️ 文字列と数字は直接繋げられない!
文字列と数字を+で繋げようとするとエラーになります。
age = 25
message = “私は” + age + “歳です” # エラー!
解決方法1:数字を文字列に変換する(str()関数を使う)
message = “私は” + str(age) + “歳です”
print(message)
解決方法2:f-stringを使う(おすすめ!次のセクションで詳しく説明)
message = f”私は{age}歳です”
print(message)
🔢 「数字の文字列」に注意!
見た目が同じでも、データ型が違うことがあります。
| 書き方 | データ型 | 計算 |
| 25 | 整数(int) | できる ✅ |
| “25” | 文字列(str) | できない ❌ |
age_int = 25
print(age_int + 1) # 26 が出力される
# 文字列の”25″
age_str = “25”
print(age_str + “1”) # “251” が出力される(繋がっただけ!)
※文字列の"25" + "1"は計算ではなく「結合」なので、「251」になります。
学習メモ
Pythonプログラミング基礎 - Step 4