変数の基本
目次
このレッスンで学ぶこと
- 変数とは何か、なぜ必要なのか
- 変数の作り方と使い方
- 変数の命名ルール
- 変数を使った計算の基本
変数とは
変数は、プログラムの中でデータを保存するための「箱」のようなものです。
Pythonでプログラムを書くとき、数値や文字列などのデータを扱います。このデータに名前を付けて保存する仕組みが変数です。
変数のイメージ
変数は、現実世界の「ラベル付きの容器」に例えられます:
┌─────────────┐
│ name │ ← ラベル(変数名)
├─────────────┤
│ "太郎" │ ← 中身(データ)
└─────────────┘
- 変数名: データを識別するための名前(例:
name,age,score) - 値: 変数に保存されているデータ(例:
"太郎",25,85.5)
料理に例えるなら、調味料入れのようなものです。「砂糖」「塩」とラベルを貼った容器に入れておけば、必要なときにすぐ取り出せます。
💡 豆知識: 変数は英語で「Variable」といい、「変わる」という意味があります。プログラムの実行中に中身を変えられることから、この名前が付きました。
なぜ変数が必要なのか?
プログラムで計算や処理を行うとき、データを一時的に記憶しておく場所が必要です。
変数がないと困る例
Python# ❌ 変数を使わない場合 print("太郎さんの年齢は25歳です") print("太郎さんは東京に住んでいます") print("太郎さんの趣味はプログラミングです") # 名前を変更したい場合、すべて書き換える必要がある
Python# ✅ 変数を使う場合 name = "太郎" print(f"{name}さんの年齢は25歳です") print(f"{name}さんは東京に住んでいます") print(f"{name}さんの趣味はプログラミングです") # 変数を変更するだけで、すべての場所が更新される
変数を使うメリット
- 再利用: 同じデータを何度も使える
- 変更が容易: 値を変更すると、使っている場所すべてに反映される
- わかりやすさ: データに意味のある名前を付けられる
- 計算結果の保存: 複雑な計算の途中結果を保存できる
変数の基本的な使い方
変数の作成(代入)
Pythonでは = を使って、変数にデータを入れます。
Pythonname = "太郎" age = 25
読み方:
name = "太郎"→ 「nameという変数に『太郎』を代入する」age = 25→ 「ageという変数に25を代入する」
注意: = は「等しい」ではなく「右の値を左の変数に入れる」という意味です。
変数の使用
一度作った変数は、名前を書くだけで中身を取り出せます。
Pythonname = "太郎" print(name) # 太郎
変数の上書き
変数は何度でも新しい値を入れ直せます。
Pythoncount = 10 print(count) # 10 count = 20 print(count) # 20
古い値(10)は消えて、新しい値(20)になります。
具体例
例1: 簡単な計算
Python# 商品の価格 price = 1000 # 消費税込みの金額を計算 total = price * 1.1 print(total) # 1100.0
例2: 複数の変数を使う
Python# 点数を変数に保存 math = 80 english = 75 science = 90 # 合計を計算 total = math + english + science # 平均を計算 average = total / 3 print(f"合計: {total}点") # 合計: 245点 print(f"平均: {average}点") # 平均: 81.66666666666667点
例3: 変数を使った文字列
Pythonname = "太郎" age = 25 # 変数を使って文章を作る message = f"{name}さんは{age}歳です" print(message) # 太郎さんは25歳です
f"{変数}" という書き方で、文字列の中に変数の値を埋め込めます。
例4: 変数同士の計算
Pythona = 10 b = 5 sum_result = a + b # 足し算 diff = a - b # 引き算 product = a * b # 掛け算 quotient = a / b # 割り算 print(sum_result) # 15 print(diff) # 5 print(product) # 50 print(quotient) # 2.0
例5: 変数の値を更新
Pythonscore = 0 print(f"現在のスコア: {score}") # 現在のスコア: 0 # 10点追加 score = score + 10 print(f"現在のスコア: {score}") # 現在のスコア: 10 # さらに5点追加 score = score + 5 print(f"現在のスコア: {score}") # 現在のスコア: 15
score = score + 10 は「今のscoreに10を足した結果を、新しいscoreにする」という意味です。
例6: 変数名は意味のある名前に
Python# 悪い例(何の変数か分からない) a = 1000 b = 0.1 c = a * b print(c) # 良い例(変数名から意味が分かる) price = 1000 tax_rate = 0.1 tax = price * tax_rate print(tax) # 100.0
変数の命名ルール
必ず守るべきルール
-
使える文字:
- 英字(a-z, A-Z)
- 数字(0-9)※ただし先頭には使えない
- アンダースコア(_)
-
使えない文字:
- 記号(!、@、#など)
- スペース
- 日本語(技術的には可能だが推奨されない)
-
予約語は使えない:
- Pythonが特別な意味で使っている単語(if、for、whileなど)
正しい例:
Pythonname = "太郎" user_age = 25 score1 = 100 _private = "secret"
間違った例:
Python1name = "太郎" # 数字で始まっている user-age = 25 # ハイフンは使えない my score = 100 # スペースは使えない if = 10 # 予約語は使えない
推奨される命名スタイル
snake_case(スネークケース):
単語を小文字で書き、複数の単語を _ でつなぐ。Pythonでは、このスタイルが推奨されます。
Pythonuser_name = "太郎" total_price = 5000 max_score = 100
分かりやすい名前を付ける:
Python# 悪い例 x = 1000 y = 0.1 z = x * y # 良い例 price = 1000 tax_rate = 0.1 tax_amount = price * tax_rate
よくある間違い
間違い1: 変数を作る前に使う
Pythonprint(score) # NameError: name 'score' is not defined score = 100
原因: 変数は使う前に必ず作成(代入)する必要があります。
正しい書き方:
Pythonscore = 100 print(score) # 100
間違い2: = と == の混同
Python# 間違い x = 10 if x = 10: # SyntaxError print("xは10です")
原因:
=は代入(値を入れる)==は比較(等しいか確認)
正しい書き方:
Pythonx = 10 if x == 10: print("xは10です")
間違い3: 変数名のタイポ
Pythonuser_name = "太郎" print(user_namme) # NameError: name 'user_namme' is not defined
原因: user_name を user_namme と打ち間違えています。
解決策: 変数名は正確に入力しましょう。コピー&ペーストも有効です。
間違い4: 文字列のクォーテーション忘れ
Pythonname = 太郎 # NameError: name '太郎' is not defined
原因: 文字列は " " または ' ' で囲む必要があります。
正しい書き方:
Pythonname = "太郎"
間違い5: 予約語を変数名に使う
Pythonif = 10 # SyntaxError: invalid syntax for = 20 # SyntaxError: invalid syntax
原因: if、for などはPythonが特別な用途で使う単語です。
正しい書き方:
Pythoncondition = 10 loop_count = 20
練習問題
問題1(基礎)⭐☆☆
以下のプログラムを完成させてください。「name」に自分の名前、「age」に自分の年齢を入れて、「〇〇さんは△△歳です」と表示してください。
Pythonname = # ここに名前を入れる age = # ここに年齢を入れる print(f"{name}さんは{age}歳です")
💡 ヒント
文字列は " " で囲み、数字はそのまま書きます。
✅ 解答例
Pythonname = "太郎" age = 25 print(f"{name}さんは{age}歳です")
実行結果:
太郎さんは25歳です
解説:
文字列型の値は必ずクォーテーションで囲みます。数値型はそのまま書きます。f"{変数}" という書き方で、文字列の中に変数の値を埋め込めます。
問題2(基礎)⭐☆☆
りんごの値段が150円、みかんの値段が100円です。それぞれ3個ずつ買ったときの合計金額を計算して表示してください。
💡 ヒント
- りんごとみかんの値段を変数に保存
- それぞれ3個分の金額を計算
- 合計を計算して表示
✅ 解答例
Pythonapple_price = 150 orange_price = 100 # 3個ずつの金額 apple_total = apple_price * 3 orange_total = orange_price * 3 # 合計 total = apple_total + orange_total print(f"合計金額: {total}円")
実行結果:
合計金額: 750円
解説: 変数を使うことで、計算の途中結果を保存できます。後で値段が変わっても、最初の2行を変更するだけで対応できます。
問題3(応用)⭐⭐☆
ある商品の定価が5000円です。20%割引したときの価格と、割引額を計算して表示してください。
💡 ヒント
- 20%割引 = 元の価格の80%(0.8倍)
- 割引額 = 定価 - 割引後の価格
✅ 解答例
Python# 定価 original_price = 5000 # 割引率(20%割引 = 0.8倍) discount_rate = 0.8 # 割引後の価格 discounted_price = original_price * discount_rate # 割引額 discount_amount = original_price - discounted_price print(f"定価: {original_price}円") print(f"割引後: {discounted_price}円") print(f"割引額: {discount_amount}円")
実行結果:
定価: 5000円
割引後: 4000.0円
割引額: 1000.0円
解説:
変数を使うことで、複雑な計算も段階的に分かりやすく書けます。また、割引率を変更したい場合も discount_rate の値を変えるだけで済みます。
まとめ
このレッスンでは、変数の基本と命名ルールを学びました。
- 変数は値を保存して、後で再利用するための仕組みです。
変数名 = 値の形で代入し、変数名を使って値を参照できます。- 値を更新するときも同じ代入構文を使って上書きできます。
- 意味が分かる変数名を使うことで、コードの可読性が上がります。
- 命名では
snake_caseを基本にし、予約語や先頭数字を避けることが重要です。
変数の基本
目次
このレッスンで学ぶこと
- 変数とは何か、なぜ必要なのか
- 変数の作り方と使い方
- 変数の命名ルール
- 変数を使った計算の基本
変数とは
変数は、プログラムの中でデータを保存するための「箱」のようなものです。
Pythonでプログラムを書くとき、数値や文字列などのデータを扱います。このデータに名前を付けて保存する仕組みが変数です。
変数のイメージ
変数は、現実世界の「ラベル付きの容器」に例えられます:
┌─────────────┐
│ name │ ← ラベル(変数名)
├─────────────┤
│ "太郎" │ ← 中身(データ)
└─────────────┘
- 変数名: データを識別するための名前(例:
name,age,score) - 値: 変数に保存されているデータ(例:
"太郎",25,85.5)
料理に例えるなら、調味料入れのようなものです。「砂糖」「塩」とラベルを貼った容器に入れておけば、必要なときにすぐ取り出せます。
💡 豆知識: 変数は英語で「Variable」といい、「変わる」という意味があります。プログラムの実行中に中身を変えられることから、この名前が付きました。
なぜ変数が必要なのか?
プログラムで計算や処理を行うとき、データを一時的に記憶しておく場所が必要です。
変数がないと困る例
Python# ❌ 変数を使わない場合 print("太郎さんの年齢は25歳です") print("太郎さんは東京に住んでいます") print("太郎さんの趣味はプログラミングです") # 名前を変更したい場合、すべて書き換える必要がある
Python# ✅ 変数を使う場合 name = "太郎" print(f"{name}さんの年齢は25歳です") print(f"{name}さんは東京に住んでいます") print(f"{name}さんの趣味はプログラミングです") # 変数を変更するだけで、すべての場所が更新される
変数を使うメリット
- 再利用: 同じデータを何度も使える
- 変更が容易: 値を変更すると、使っている場所すべてに反映される
- わかりやすさ: データに意味のある名前を付けられる
- 計算結果の保存: 複雑な計算の途中結果を保存できる
変数の基本的な使い方
変数の作成(代入)
Pythonでは = を使って、変数にデータを入れます。
Pythonname = "太郎" age = 25
読み方:
name = "太郎"→ 「nameという変数に『太郎』を代入する」age = 25→ 「ageという変数に25を代入する」
注意: = は「等しい」ではなく「右の値を左の変数に入れる」という意味です。
変数の使用
一度作った変数は、名前を書くだけで中身を取り出せます。
Pythonname = "太郎" print(name) # 太郎
変数の上書き
変数は何度でも新しい値を入れ直せます。
Pythoncount = 10 print(count) # 10 count = 20 print(count) # 20
古い値(10)は消えて、新しい値(20)になります。
具体例
例1: 簡単な計算
Python# 商品の価格 price = 1000 # 消費税込みの金額を計算 total = price * 1.1 print(total) # 1100.0
例2: 複数の変数を使う
Python# 点数を変数に保存 math = 80 english = 75 science = 90 # 合計を計算 total = math + english + science # 平均を計算 average = total / 3 print(f"合計: {total}点") # 合計: 245点 print(f"平均: {average}点") # 平均: 81.66666666666667点
例3: 変数を使った文字列
Pythonname = "太郎" age = 25 # 変数を使って文章を作る message = f"{name}さんは{age}歳です" print(message) # 太郎さんは25歳です
f"{変数}" という書き方で、文字列の中に変数の値を埋め込めます。
例4: 変数同士の計算
Pythona = 10 b = 5 sum_result = a + b # 足し算 diff = a - b # 引き算 product = a * b # 掛け算 quotient = a / b # 割り算 print(sum_result) # 15 print(diff) # 5 print(product) # 50 print(quotient) # 2.0
例5: 変数の値を更新
Pythonscore = 0 print(f"現在のスコア: {score}") # 現在のスコア: 0 # 10点追加 score = score + 10 print(f"現在のスコア: {score}") # 現在のスコア: 10 # さらに5点追加 score = score + 5 print(f"現在のスコア: {score}") # 現在のスコア: 15
score = score + 10 は「今のscoreに10を足した結果を、新しいscoreにする」という意味です。
例6: 変数名は意味のある名前に
Python# 悪い例(何の変数か分からない) a = 1000 b = 0.1 c = a * b print(c) # 良い例(変数名から意味が分かる) price = 1000 tax_rate = 0.1 tax = price * tax_rate print(tax) # 100.0
変数の命名ルール
必ず守るべきルール
-
使える文字:
- 英字(a-z, A-Z)
- 数字(0-9)※ただし先頭には使えない
- アンダースコア(_)
-
使えない文字:
- 記号(!、@、#など)
- スペース
- 日本語(技術的には可能だが推奨されない)
-
予約語は使えない:
- Pythonが特別な意味で使っている単語(if、for、whileなど)
正しい例:
Pythonname = "太郎" user_age = 25 score1 = 100 _private = "secret"
間違った例:
Python1name = "太郎" # 数字で始まっている user-age = 25 # ハイフンは使えない my score = 100 # スペースは使えない if = 10 # 予約語は使えない
推奨される命名スタイル
snake_case(スネークケース):
単語を小文字で書き、複数の単語を _ でつなぐ。Pythonでは、このスタイルが推奨されます。
Pythonuser_name = "太郎" total_price = 5000 max_score = 100
分かりやすい名前を付ける:
Python# 悪い例 x = 1000 y = 0.1 z = x * y # 良い例 price = 1000 tax_rate = 0.1 tax_amount = price * tax_rate
よくある間違い
間違い1: 変数を作る前に使う
Pythonprint(score) # NameError: name 'score' is not defined score = 100
原因: 変数は使う前に必ず作成(代入)する必要があります。
正しい書き方:
Pythonscore = 100 print(score) # 100
間違い2: = と == の混同
Python# 間違い x = 10 if x = 10: # SyntaxError print("xは10です")
原因:
=は代入(値を入れる)==は比較(等しいか確認)
正しい書き方:
Pythonx = 10 if x == 10: print("xは10です")
間違い3: 変数名のタイポ
Pythonuser_name = "太郎" print(user_namme) # NameError: name 'user_namme' is not defined
原因: user_name を user_namme と打ち間違えています。
解決策: 変数名は正確に入力しましょう。コピー&ペーストも有効です。
間違い4: 文字列のクォーテーション忘れ
Pythonname = 太郎 # NameError: name '太郎' is not defined
原因: 文字列は " " または ' ' で囲む必要があります。
正しい書き方:
Pythonname = "太郎"
間違い5: 予約語を変数名に使う
Pythonif = 10 # SyntaxError: invalid syntax for = 20 # SyntaxError: invalid syntax
原因: if、for などはPythonが特別な用途で使う単語です。
正しい書き方:
Pythoncondition = 10 loop_count = 20
練習問題
問題1(基礎)⭐☆☆
以下のプログラムを完成させてください。「name」に自分の名前、「age」に自分の年齢を入れて、「〇〇さんは△△歳です」と表示してください。
Pythonname = # ここに名前を入れる age = # ここに年齢を入れる print(f"{name}さんは{age}歳です")
💡 ヒント
文字列は " " で囲み、数字はそのまま書きます。
✅ 解答例
Pythonname = "太郎" age = 25 print(f"{name}さんは{age}歳です")
実行結果:
太郎さんは25歳です
解説:
文字列型の値は必ずクォーテーションで囲みます。数値型はそのまま書きます。f"{変数}" という書き方で、文字列の中に変数の値を埋め込めます。
問題2(基礎)⭐☆☆
りんごの値段が150円、みかんの値段が100円です。それぞれ3個ずつ買ったときの合計金額を計算して表示してください。
💡 ヒント
- りんごとみかんの値段を変数に保存
- それぞれ3個分の金額を計算
- 合計を計算して表示
✅ 解答例
Pythonapple_price = 150 orange_price = 100 # 3個ずつの金額 apple_total = apple_price * 3 orange_total = orange_price * 3 # 合計 total = apple_total + orange_total print(f"合計金額: {total}円")
実行結果:
合計金額: 750円
解説: 変数を使うことで、計算の途中結果を保存できます。後で値段が変わっても、最初の2行を変更するだけで対応できます。
問題3(応用)⭐⭐☆
ある商品の定価が5000円です。20%割引したときの価格と、割引額を計算して表示してください。
💡 ヒント
- 20%割引 = 元の価格の80%(0.8倍)
- 割引額 = 定価 - 割引後の価格
✅ 解答例
Python# 定価 original_price = 5000 # 割引率(20%割引 = 0.8倍) discount_rate = 0.8 # 割引後の価格 discounted_price = original_price * discount_rate # 割引額 discount_amount = original_price - discounted_price print(f"定価: {original_price}円") print(f"割引後: {discounted_price}円") print(f"割引額: {discount_amount}円")
実行結果:
定価: 5000円
割引後: 4000.0円
割引額: 1000.0円
解説:
変数を使うことで、複雑な計算も段階的に分かりやすく書けます。また、割引率を変更したい場合も discount_rate の値を変えるだけで済みます。
まとめ
このレッスンでは、変数の基本と命名ルールを学びました。
- 変数は値を保存して、後で再利用するための仕組みです。
変数名 = 値の形で代入し、変数名を使って値を参照できます。- 値を更新するときも同じ代入構文を使って上書きできます。
- 意味が分かる変数名を使うことで、コードの可読性が上がります。
- 命名では
snake_caseを基本にし、予約語や先頭数字を避けることが重要です。