サザエさんで学ぶ「変数」|プログラミング入門
![]() |
20万件以上の案件から、副業に最適なリモート・週3〜の案件を一括検索できるプラットフォーム。プロフィール登録でAIスカウトが自動的にマッチング案件を提案。市場統計や単価相場、エージェントの口コミも無料で閲覧可能なため、本業を続けながら効率的に高単価の副業案件を探せます。フリーランスボード |
| |
週2〜3日から働ける柔軟な案件が業界トップクラスの豊富さを誇るフリーランスエージェント。エンド直契約のため高単価で、週3日稼働でも十分な報酬を得られます。リモートや時間フレキシブルな案件も多数。スタートアップ・ベンチャー中心で、トレンド技術を使った魅力的な案件が揃っています。専属エージェントが案件紹介から契約交渉までサポート。利用企業2,000社以上の実績。ITプロパートナーズ |
| |
10,000件以上の案件を保有し、週3日〜・フルリモートなど柔軟な働き方に対応。高単価案件が豊富で、報酬保障制度(60%)や保険料負担(50%)など正社員並みの手厚い福利厚生が特徴。通勤交通費(月3万円)、スキルアップ費用(月1万円)の支給に加え、リロクラブ・freeeが無料利用可能。非公開案件80%以上、支払いサイト20日で安心して稼働できます。Midworks |
プログラミングを学び始めたばかりの方にとって、変数という概念は最初の難関の一つです。しかし、日本人なら誰もが知っている「サザエさん」の登場人物を使えば、変数の仕組みが驚くほどわかりやすく理解できます。
この記事では、磯野家とフグ田家の面々を例に、Pythonでの変数の使い方を基礎から丁寧に解説します。
目次
変数とは?サザエさんで考えてみよう
変数は「値を入れる箱」
変数とは、データを一時的に保管しておく「箱」のようなものです。磯野家の各部屋に家族の持ち物を置いておくように、プログラムの中でもデータを整理して保管する必要があります。
例えば、サザエさんの情報を変数に入れてみましょう。
# サザエさんの情報を変数に格納
name = "フグ田サザエ"
age = 24
family_name = "磯野"
married = True
print(name) # 出力: フグ田サザエ
print(age) # 出力: 24
この例では、nameという変数に「フグ田サザエ」という文字列を、ageという変数に24という数値を入れています。
変数の命名規則とデータ型
磯野家の面々で学ぶ変数名のつけ方
変数名には一定のルールがあります。サザエさん一家のデータを使って見ていきましょう。
# ✅ 良い変数名の例
sazae_age = 24
masuo_job = "商社マン"
katsuo_grade = 5 # 小学5年生
# ❌ 避けるべき変数名
1sazae = "サザエ" # 数字から始まるのはNG
サザエ = 24 # 日本語も使えるが、推奨されない
sazae age = 24 # スペースは使えない
データ型を磯野家で理解する
Pythonには主に4つの基本データ型があります。
# 文字列型(str)- 名前や職業など
wakame_name = "磯野ワカメ"
tarao_phrase = "ですぅ〜"
# 整数型(int)- 年齢や学年など
katsuo_age = 11
tara_age = 3
# 浮動小数点型(float)- 身長や体重など
sazae_height = 160.5
masuo_weight = 65.8
# 真偽値型(bool)- はい/いいえで答えられること
is_katsuo_student = True
is_namihei_working = True
is_fune_working = False
# データ型を確認
print(type(wakame_name)) # <class 'str'>
print(type(katsuo_age)) # <class 'int'>
変数の再代入と更新
カツオの成長を変数で表現
変数の値は後から変更することができます。これを「再代入」といいます。
# カツオの学年が進級
katsuo_grade = 5
print(f"カツオの学年: {katsuo_grade}年生")
# 1年後、進級
katsuo_grade = 6
print(f"カツオの学年: {katsuo_grade}年生")
# さらに年齢も更新
katsuo_age = 11
katsuo_age = katsuo_age + 1 # または katsuo_age += 1
print(f"カツオの年齢: {katsuo_age}歳")
タラちゃんの成長記録
# タラちゃんの年齢と言葉遣いの変化
tara_age = 3
tara_words = "ですぅ〜"
print(f"{tara_age}歳のタラちゃん: {tara_words}")
# 誕生日を迎えて
tara_age += 1
tara_words = "ハーイ!"
print(f"{tara_age}歳のタラちゃん: {tara_words}")
複数の変数を使った計算
磯野家の家族構成を数える
# 磯野家の人数
isono_house_members = 6 # 波平、フネ、サザエ、マスオ、カツオ、ワカメ
# フグ田家の人数(サザエ、マスオ、タラオ)
fuguta_family = 3
# 総登場人物(メインキャラクター)
main_characters = isono_house_members + 1 # タラちゃん追加
print(f"磯野家の主要登場人物: {main_characters}人")
# 大人と子供の人数
adults = 4 # 波平、フネ、サザエ、マスオ
children = 3 # カツオ、ワカメ、タラオ
print(f"大人: {adults}人、子供: {children}人")
print(f"合計: {adults + children}人")
リストで家族をまとめて管理
磯野家メンバーをリストで管理
複数の関連するデータは、リスト(配列)を使うと便利です。
# 磯野家の家族メンバー
isono_family = ["波平", "フネ", "カツオ", "ワカメ"]
fuguta_family = ["サザエ", "マスオ", "タラオ"]
# リストの要素にアクセス
print(f"お父さん: {isono_family[0]}") # 波平
print(f"お母さん: {isono_family[1]}") # フネ
# リストの長さ(人数)
print(f"磯野家の人数: {len(isono_family)}人")
# リストに要素を追加
all_family = isono_family + fuguta_family
print(f"全員: {all_family}")
print(f"総勢: {len(all_family)}人")
辞書で詳細情報を管理
キャラクターのプロフィールを作る
辞書型を使うと、より複雑な情報を整理できます。
# サザエさんのプロフィール
sazae_profile = {
"名前": "フグ田サザエ",
"旧姓": "磯野",
"年齢": 24,
"性別": "女性",
"職業": "専業主婦",
"趣味": ["買い物", "井戸端会議"],
"家族": ["マスオ", "タラオ"]
}
# 情報にアクセス
print(f"名前: {sazae_profile['名前']}")
print(f"年齢: {sazae_profile['年齢']}歳")
print(f"趣味: {', '.join(sazae_profile['趣味'])}")
# カツオのプロフィール
katsuo_profile = {
"名前": "磯野カツオ",
"年齢": 11,
"学年": 5,
"性格": "いたずら好き",
"得意科目": "体育",
"苦手科目": "算数",
"親友": "中島"
}
print(f"\n{katsuo_profile['名前']}は{katsuo_profile['学年']}年生")
print(f"性格: {katsuo_profile['性格']}")
実践的な例:家族紹介プログラム
磯野家全員を紹介するプログラム
# 磯野家の家族データ
family_members = [
{"名前": "磯野波平", "年齢": 54, "職業": "会社員", "特徴": "頭に1本毛"},
{"名前": "磯野フネ", "年齢": 52, "職業": "専業主婦", "特徴": "優しいお母さん"},
{"名前": "フグ田サザエ", "年齢": 24, "職業": "専業主婦", "特徴": "おっちょこちょい"},
{"名前": "フグ田マスオ", "年齢": 28, "職業": "商社マン", "特徴": "優しい婿養子"},
{"名前": "磯野カツオ", "年齢": 11, "職業": "小学生", "特徴": "いたずら好き"},
{"名前": "磯野ワカメ", "年齢": 9, "職業": "小学生", "特徴": "しっかり者"},
{"名前": "フグ田タラオ", "年齢": 3, "職業": "幼稚園児", "特徴": "ですぅ〜"}
]
# 全員を紹介
print("=== 磯野家・フグ田家のご紹介 ===\n")
for member in family_members:
name = member["名前"]
age = member["年齢"]
job = member["職業"]
feature = member["特徴"]
print(f"{name}({age}歳)")
print(f" 職業: {job}")
print(f" 特徴: {feature}\n")
# 平均年齢を計算
total_age = 0
for member in family_members:
total_age += member["年齢"]
average_age = total_age / len(family_members)
print(f"磯野家の平均年齢: {average_age:.1f}歳")
変数のスコープ(有効範囲)
磯野家とフグ田家で考える変数のスコープ
# グローバル変数(家全体で共有)
house_address = "東京都世田谷区"
def introduce_isono_family():
# ローカル変数(この関数内でのみ使用)
family_name = "磯野"
father = "波平"
mother = "フネ"
print(f"{family_name}家のご紹介")
print(f"父: {father}、母: {mother}")
print(f"住所: {house_address}") # グローバル変数は使える
def introduce_fuguta_family():
family_name = "フグ田" # 別の関数では同じ変数名でも別物
husband = "マスオ"
wife = "サザエ"
son = "タラオ"
print(f"\n{family_name}家のご紹介")
print(f"夫: {husband}、妻: {wife}、息子: {son}")
print(f"住所: {house_address}")
# 関数を実行
introduce_isono_family()
introduce_fuguta_family()
# print(father) # エラー!関数の外では使えない
よくある間違いと注意点
初心者が陥りがちなミス
# ❌ 間違い1: 変数を宣言せずに使う
# print(tama_name) # NameError: タマの変数が定義されていない
# ✅ 正しい使い方
tama_name = "タマ"
print(tama_name)
# ❌ 間違い2: 文字列と数値を直接連結
sazae_age = 24
# message = "サザエさんは" + sazae_age + "歳です" # TypeError
# ✅ 正しい使い方
message = "サザエさんは" + str(sazae_age) + "歳です"
# または
message = f"サザエさんは{sazae_age}歳です" # f文字列(推奨)
print(message)
# ❌ 間違い3: 変数名の大文字小文字を間違える
Katsuo_age = 11
# print(katsuo_age) # NameError: 大文字小文字は区別される
# ✅ 正しい使い方
print(Katsuo_age) # 定義した通りの名前を使う
練習問題
問題1: ワカメのプロフィールを作ろう
# 以下の情報を変数に格納してください
# 名前: 磯野ワカメ
# 年齢: 9歳
# 学年: 3年生
# 好きな教科: 国語
# 好きな食べ物: いちごショートケーキ
# 解答例
wakame_name = "磯野ワカメ"
wakame_age = 9
wakame_grade = 3
favorite_subject = "国語"
favorite_food = "いちごショートケーキ"
print(f"{wakame_name}({wakame_age}歳)は小学{wakame_grade}年生です")
print(f"好きな教科: {favorite_subject}")
print(f"好きな食べ物: {favorite_food}")
問題2: 磯野家の年齢合計を計算しよう
# 磯野家全員の年齢を足し算してみましょう
namihei_age = 54
fune_age = 52
sazae_age = 24
masuo_age = 28
katsuo_age = 11
wakame_age = 9
tara_age = 3
# 合計年齢を計算
total_age = namihei_age + fune_age + sazae_age + masuo_age + katsuo_age + wakame_age + tara_age
print(f"磯野家全員の年齢の合計: {total_age}歳")
print(f"平均年齢: {total_age / 7:.1f}歳")
まとめ
この記事では、サザエさんの登場人物を使って以下の変数の基本を学びました。
- 変数の基本概念: データを保管する「箱」
- データ型: 文字列、整数、浮動小数点、真偽値
- 変数の命名規則: わかりやすく、ルールに従った名前付け
- 変数の再代入: 値の更新方法
- リストと辞書: 複数のデータをまとめて管理
- 変数のスコープ: 変数が使える範囲
プログラミングの変数は、磯野家の各部屋やタンスのようなものです。適切に整理して使えば、プログラムがとても読みやすく、管理しやすくなります。
次のステップ
変数の基本を理解したら、次は以下のトピックに挑戦してみましょう。
- 条件分岐(if文): カツオがテストで良い点を取ったら褒美をもらえる、といった条件処理
- 繰り返し(ループ): 磯野家全員に順番に挨拶させる処理
- 関数: よく使う処理をまとめて再利用する方法
サザエさんと一緒に、楽しくプログラミングを学んでいきましょう!
関連キーワード: Python 変数, プログラミング 初心者, 変数とは, Python 入門, サザエさん プログラミング, わかりやすいプログラミング, Python 基礎, 変数 使い方
![]() |
20万件以上の案件から、副業に最適なリモート・週3〜の案件を一括検索できるプラットフォーム。プロフィール登録でAIスカウトが自動的にマッチング案件を提案。市場統計や単価相場、エージェントの口コミも無料で閲覧可能なため、本業を続けながら効率的に高単価の副業案件を探せます。フリーランスボード |
| |
週2〜3日から働ける柔軟な案件が業界トップクラスの豊富さを誇るフリーランスエージェント。エンド直契約のため高単価で、週3日稼働でも十分な報酬を得られます。リモートや時間フレキシブルな案件も多数。スタートアップ・ベンチャー中心で、トレンド技術を使った魅力的な案件が揃っています。専属エージェントが案件紹介から契約交渉までサポート。利用企業2,000社以上の実績。ITプロパートナーズ |
| |
10,000件以上の案件を保有し、週3日〜・フルリモートなど柔軟な働き方に対応。高単価案件が豊富で、報酬保障制度(60%)や保険料負担(50%)など正社員並みの手厚い福利厚生が特徴。通勤交通費(月3万円)、スキルアップ費用(月1万円)の支給に加え、リロクラブ・freeeが無料利用可能。非公開案件80%以上、支払いサイト20日で安心して稼働できます。Midworks |






