ステップ4:変数とデータ型の基礎

📦 ステップ4: 変数とデータ型の基礎

プログラミングの基本!データを箱に入れて管理しよう

📖 このステップで学ぶこと

  • 変数とは何か、なぜ必要か
  • データ型の基本(整数・小数・文字列)
  • 変数の命名規則
  • print()関数とf-string
  • type()関数でデータ型を確認する方法

📦 1. 変数とは何か?

🔰 まず「変数」をイメージしよう

プログラミングを学ぶ上で、最も基本的で重要な概念が「変数」です。
まずは、身近な例で変数をイメージしてみましょう。

🎁 変数は「ラベル付きの箱」

引っ越しを想像してください。荷物を箱に入れて、箱には中身がわかるようにラベルを貼りますよね。

実生活 プログラミング
「本」と書いた箱 → 中に本が入っている nameという変数 → 「太郎」が入っている
「おもちゃ」と書いた箱 → 中におもちゃが入っている ageという変数 → 25が入っている
箱の中身を取り出して使う 変数の中身を取り出して計算や表示に使う
箱の中身を入れ替える 変数の中身を別の値に変える

📌 変数の定義:

変数とは、データ(値)を入れておく「名前付きの箱」です。
箱に名前をつけておくことで、後からその名前で中身を取り出したり、変更したりできます。

❓ なぜ変数が必要なの?

変数を使わないと、同じ値を何度も書く必要があります。
変数を使うメリットを見てみましょう。

変数を使わない場合(不便)

# 税込価格を3回計算する場合、毎回1000と0.1を書く必要がある
print(1000 * (1 + 0.1))
print(1000 * (1 + 0.1) * 2)
print(1000 * (1 + 0.1) * 3)

❌ 価格が変わったら、すべての場所を書き換える必要がある…

変数を使う場合(便利!)

# 変数に入れておけば、1箇所変えるだけでOK
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)

📤 実行結果:

80
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)

📤 実行結果:

25
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 = 208
print(result2)

# 掛け算
result3 = 6 * 7
print(result3)

# 割り算(結果は小数になる)
result4 = 10 / 3
print(result4)

📤 実行結果:

15
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

%(余り/剰余)とは?

割り算の「余り」を返します。

# 10 ÷ 3 = 3 余り 1
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)

📤 実行結果:

170.5
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(税込価格)

📤 実行結果:

1100.0

例2: 割引計算

# 元の価格
price = 1000.0

# 20%引きの割引額を計算
discount = price * 0.2
print(f”割引額: {discount}円”)

# セール価格を計算
sale_price = price – discount
print(f”セール価格: {sale_price}円”)

📤 実行結果:

割引額: 200.0円
セール価格: 800.0円

⚠️ 小数の計算には注意!

コンピューターの仕組み上、小数の計算には微小な誤差が出ることがあります。

result = 0.1 + 0.2
print(result)
0.30000000000000004

「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)

📤 実行結果:

山田太郎

スペースを入れて結合する

文字列の間にスペースを入れたい場合は、" "(スペース文字列)を挟みます。

first_name = “太郎”
last_name = “山田”

# スペースを入れて結合
full_name = last_name + ” “ + first_name
print(full_name)

📤 実行結果:

山田 太郎

⚠️ 文字列と数字は直接繋げられない!

文字列と数字を+で繋げようとするとエラーになります。

# これはエラーになる!
age = 25
message = “私は” + age + “歳です” # エラー!

解決方法1:数字を文字列に変換する(str()関数を使う)

age = 25
message = “私は” + str(age) + “歳です”
print(message)

解決方法2:f-stringを使う(おすすめ!次のセクションで詳しく説明)

age = 25
message = f”私は{age}歳です”
print(message)

🔢 「数字の文字列」に注意!

見た目が同じでも、データ型が違うことがあります。

書き方 データ型 計算
25 整数(int) できる ✅
“25” 文字列(str) できない ❌
# 整数の25
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が入っている
箱の中身を取り出して使う 変数の中身を取り出して計算や表示に使う
箱の中身を入れ替える 変数の中身を別の値に変える

📌 変数の定義:

変数とは、データ(値)を入れておく「名前付きの箱」です。
箱に名前をつけておくことで、後からその名前で中身を取り出したり、変更したりできます。

❓ なぜ変数が必要なの?

変数を使わないと、同じ値を何度も書く必要があります。
変数を使うメリットを見てみましょう。

変数を使わない場合(不便)

# 税込価格を3回計算する場合、毎回1000と0.1を書く必要がある
print(1000 * (1 + 0.1))
print(1000 * (1 + 0.1) * 2)
print(1000 * (1 + 0.1) * 3)

❌ 価格が変わったら、すべての場所を書き換える必要がある…

変数を使う場合(便利!)

# 変数に入れておけば、1箇所変えるだけでOK
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)

📤 実行結果:

80
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)

📤 実行結果:

25
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 = 208
print(result2)

# 掛け算
result3 = 6 * 7
print(result3)

# 割り算(結果は小数になる)
result4 = 10 / 3
print(result4)

📤 実行結果:

15
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

%(余り/剰余)とは?

割り算の「余り」を返します。

# 10 ÷ 3 = 3 余り 1
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)

📤 実行結果:

170.5
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(税込価格)

📤 実行結果:

1100.0

例2: 割引計算

# 元の価格
price = 1000.0

# 20%引きの割引額を計算
discount = price * 0.2
print(f”割引額: {discount}円”)

# セール価格を計算
sale_price = price – discount
print(f”セール価格: {sale_price}円”)

📤 実行結果:

割引額: 200.0円
セール価格: 800.0円

⚠️ 小数の計算には注意!

コンピューターの仕組み上、小数の計算には微小な誤差が出ることがあります。

result = 0.1 + 0.2
print(result)
0.30000000000000004

「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)

📤 実行結果:

山田太郎

スペースを入れて結合する

文字列の間にスペースを入れたい場合は、" "(スペース文字列)を挟みます。

first_name = “太郎”
last_name = “山田”

# スペースを入れて結合
full_name = last_name + ” “ + first_name
print(full_name)

📤 実行結果:

山田 太郎

⚠️ 文字列と数字は直接繋げられない!

文字列と数字を+で繋げようとするとエラーになります。

# これはエラーになる!
age = 25
message = “私は” + age + “歳です” # エラー!

解決方法1:数字を文字列に変換する(str()関数を使う)

age = 25
message = “私は” + str(age) + “歳です”
print(message)

解決方法2:f-stringを使う(おすすめ!次のセクションで詳しく説明)

age = 25
message = f”私は{age}歳です”
print(message)

🔢 「数字の文字列」に注意!

見た目が同じでも、データ型が違うことがあります。

書き方 データ型 計算
25 整数(int) できる ✅
“25” 文字列(str) できない ❌
# 整数の25
age_int = 25
print(age_int + 1) # 26 が出力される

# 文字列の”25″
age_str = “25”
print(age_str + “1”) # “251” が出力される(繋がっただけ!)

※文字列の"25" + "1"は計算ではなく「結合」なので、「251」になります。

📝

学習メモ

Pythonプログラミング基礎 - Step 4

📋 過去のメモ一覧
#artnasekai #学習メモ
LINE