Pythonの変数宣言「=」に隠された秘密!今日からコードが劇的に変わる

2025年4月23日水曜日

Python

Pythonを始めたばかりの皆さん、こんにちは!

今日のテーマは、プログラミングの根幹をなすPythonの変数宣言です。「=」というたった一つの記号に、実は奥深い秘密が隠されているんですよ。

この記事を読めば、変数の扱いに自信がつき、あなたのPythonコードが劇的に進化すること間違いなし!

この記事で学べること

  • Pythonにおける変数の基本的な考え方
  • 変数宣言のルールと、スッキリ書くためのコツ
  • 数値、文字、真偽値など、色々なデータの扱い方
  • 変数の値を出し入れする方法
  • プログラムのどこで変数が使えるかの境界線
  • 初心者がハマりやすいエラーとその脱出方法
  • 変数を活用した簡単なプログラムの実例
  • より良いコードを書くための心得

Pythonの変数宣言とは?

突然ですが、皆さんは何か物をしまう時、どのように整理しますか? 아마 상자나 서랍に名前をつけたりしますよね?プログラミングにおける「変数」も、これと似たようなものなんです。

変数は、プログラムの中でデータを一時的に保管しておくための「名前のついた箱」のようなもの。例えば、計算結果や入力された文字などをこの箱に入れておき、後でまた取り出して使うことができるんです。

「=」という記号は、この箱に値を入れるためのラベルを貼るイメージ。「name = '太郎'」と書けば、「太郎」というデータが入った箱に「name」というラベルを貼る、というわけです。なんだかちょっと身近に感じませんか?

Pythonにおける変数宣言の基本ルールと書き方

さて、この「名前付きの箱」、つまり変数を使うには、いくつかのルールがあります。

でも心配ご無用!難しいことはありません。まるで、新しい友達に自己紹介するみたいに、変数をプログラムに教えてあげる必要があるんです。

基本的な書き方はとってもシンプル。

変数名 = 値

たったこれだけ!左側に箱の名前(変数名)、右側に箱に入れるもの(値)を書きます。この時、「=」は「右側の値を左側の変数に代入する」という意味を持つ特別な記号なんです。

変数名の付け方 - 可読性を高めるための命名規則

変数の名前は、後で自分が読んだり、他の人が読んだりしたときに「何が入っている箱なのか」がわかるようにするのがコツです。

適当な名前をつけてしまうと、後で「あれ、この変数って何だっけ?」と迷子になってしまうことがあります。

いくつか、覚えておくと便利な命名規則があります。

  • スネークケース
    単語と単語の間をアンダースコア(_)で繋ぐ書き方です。例:user\_name, item\_count
  • 小文字で始める
    変数名は小文字で始めるのが一般的です。
  • 意味のある名前をつける
    count(数)、name(名前)、total\_price(合計金額)のように、何が入っているのか想像しやすい名前にしましょう。
  • 予約語は使えない
    Pythonがすでに持っている特別な単語(if, for, whileなど)は、変数名として使えません。

まるで、友達につけるニックネームみたいに、覚えやすく、その人がどんな人かわかるような名前をつけると良いでしょう。

様々なデータ型と変数宣言:数値、文字列、真偽値など

箱に入れるものにも、色々な種類がありますよね。

数字だったり、文字だったり、YesかNoかだったり。Pythonでは、これらのデータの種類を「データ型」と呼びます。代表的なものをいくつか見てみましょう。

  • 数値型 (int, float):整数(例:10, -5)や小数(例:3.14, 0.5)などの数値を扱います。
  • number_of_apples = 5
    price = 98.7
    
  • 文字列型 (str):文字や文章を扱います。シングルクォート('')またはダブルクォート("")で囲みます。
  • message = 'こんにちは'
    user_name = "Python太郎"
    
  • 真偽値型 (bool):True(真)か False(偽)のどちらかの値を持ちます。
  • is_student = True
    has_permission = False
    

Pythonは、代入された値から自動的に変数の型を判断してくれる、賢い一面を持っています。

これを「動的型付け」といいます。他の言語のように、あらかじめ「この箱には数字しか入れられません!」と宣言する必要がないので、気軽に始められますね。

Pythonの変数への値の代入と変更方法

一度箱に値を入れた後でも、必要に応じて中身を入れ替えることができます。これは、変数の大きな魅力の一つです。

age = 20
print(age)
# 出力結果:20

age = 21 # 値を上書き
print(age)
# 出力結果:21

このように、「=」を使って新しい値を代入するだけで、変数が持つ値は更新されます。まるで、手紙を書き換えるように、変数の内容もどんどん変化させることができるんです。

変数のスコープ(有効範囲) - ローカル変数とグローバル変数

変数が使える範囲には、実はルールがあります。これを「スコープ(有効範囲)」と呼びます。主にローカル変数グローバル変数の2種類があります。

  • ローカル変数:特定の関数の中で宣言された変数は、その関数の中でのみ有効です。関数の外からはアクセスできません。まるで、自分の部屋の中だけで使うもの、というイメージです。
  • def my_function():
        local_value = 10
        print(local_value)
    
    my_function() # 出力結果:10
    # print(local_value) # これはエラーになります
    
  • グローバル変数:関数の外で宣言された変数は、プログラム全体のどこからでもアクセスできます。みんなで共有して使うもの、というイメージですね。
  • global_value = 100
    
    def another_function():
        print(global_value)
    
    another_function() # 出力結果:100
    print(global_value) # 出力結果:100
    

変数のスコープを意識することは、予期せぬエラーを防ぎ、整理されたプログラムを書く上でとても大切です。

Pythonの変数宣言でよくあるエラーと解決策

プログラミング初心者さんが変数宣言でよく遭遇するエラーの一つに、NameErrorがあります。これは、「そんな名前の変数は知らないよ!」というエラーメッセージです。

# print(undefined_variable) # このコードを実行すると NameError が発生します

このエラーは、変数を宣言(値を代入)する前に使おうとした場合に起こります。

変数は、使う前に必ず「=」を使って値を教えてあげる必要があるんですね。もしこのエラーが出たら、「あれ、この変数にまだ名前をつけてなかったかな?」と確認してみてください。

NameError:変数名が見つからない

NameErrorは、タイプミスや変数の宣言漏れなど、様々な理由で発生します。例えば、変数名を間違えて入力してしまったり、スペルミスがあったりする場合です。

my_name = "花子"
# print(my_nmae) # ← スペルミス!NameErrorが発生します
print(my_name)

また、変数が定義されているスコープ外からアクセスしようとした場合にも発生します。ローカル変数は、その関数内でのみ有効であることを思い出してください。

TypeError:型が違う演算をしようとした

変数に格納されているデータの型を意識しないと、TypeErrorが発生することがあります。例えば、文字列型の変数と数値型の変数を足し算しようとすると、Pythonは困ってしまいます。

age_str = "30"
number = 5
# result = age_str + number # ← 文字列と数値を足そうとしてTypeError!
result = int(age_str) + number # 文字列を整数に変換すればOK
print(result)

エラーメッセージをよく読むと、「str」と「int」のように、異なる型同士で演算しようとしていることが書かれているはずです。

SyntaxError:文法が間違っている

変数宣言に限った話ではありませんが、Pythonの文法ルールを守らないとSyntaxErrorが発生します。例えば、変数名にスペースを含めたり、予約語を変数名に使ったりすると、このエラーが出ることがあります。

# my variable = 10 # ← 変数名にスペースがあるのでSyntaxError!
my_variable = 10

# if = 10 # ← 予約語は変数名に使えません!SyntaxError!
my_condition = 10

エラーメッセージは、どこに問題があるかを教えてくれることが多いので、落ち着いて読んでみましょう。

【実践】Pythonの変数宣言を使った簡単なプログラム例

それでは、実際に変数宣言がどのようにプログラムで使われるのか、簡単な例をいくつか見てみましょう。

# 好きな食べ物を変数に格納
favorite_food = 'チョコレート'
print('私の好きな食べ物は', favorite_food, 'です。')
# 出力結果:私の好きな食べ物は チョコレート です。

# 2つの数を足し算する
num1 = 10
num2 = 5
sum_result = num1 + num2
print('合計は', sum_result, 'です。')
# 出力結果:合計は 15 です。

自己紹介プログラムを作ってみよう

変数を使って、簡単な自己紹介プログラムを作ってみましょう。名前、年齢、趣味などの情報を変数に格納して、それらを表示してみます。

name = '山田太郎'
age = 25
hobby = '読書'

print('私の名前は', name, 'です。')
print('年齢は', age, '歳です。')
print('趣味は', hobby, 'です。')

# 出力結果:
# 私の名前は 山田太郎 です。
# 年齢は 25 歳です。
# 趣味は 読書 です。

このように、変数を使うことで、プログラムの中で色々な情報を簡単に扱うことができます。

簡単な計算機プログラムを作ってみよう

数値型の変数を使って、簡単な計算機プログラムを作ってみましょう。2つの数を受け取り、それらの和、差、積を表示します。

number1 = 20
number2 = 7

addition = number1 + number2
subtraction = number1 - number2
multiplication = number1 * number2

print(number1, '+', number2, '=', addition)
print(number1, '-', number2, '=', subtraction)
print(number1, '*', number2, '=', multiplication)

# 出力結果:
# 20 + 7 = 27
# 20 - 7 = 13
# 20 * 7 = 140

変数を活用することで、複雑な計算も簡単に行うことができるようになります。

真偽値を使った条件分岐の基礎

真偽値型の変数を使うと、プログラムの流れを条件によって変えることができます。ここでは、簡単な例として、ある条件が満たされているかどうかでメッセージを変えるプログラムを見てみましょう。

is_raining = True

if is_raining:
    print('今日は傘を持っていきましょう。')
else:
    print('今日は晴れているので、傘は必要ありません。')

# 出力結果(is_raining が True の場合):今日は傘を持っていきましょう。
# 出力結果(is_raining が False の場合):今日は晴れているので、傘は必要ありません。

このように、変数の値によってプログラムの動作を変えることができるのは、プログラミングのとても面白い部分の一つです。

Pythonの変数宣言における注意点

最後に、変数宣言をする上でのちょっとした心がけと、より良いコードを書くための習慣をお伝えします。

  • 予約語は避けましょう
    Pythonがすでに使っている単語は、変数名に使わないようにしましょう。
  • 一貫性のある命名規則を守りましょう
    スネークケースを使うならずっとスネークケースで、など、自分の中でルールを決めて守ると、コードが読みやすくなります。
  • 意味が伝わる変数名をつけましょう
    後で見たときに「これは何のデータが入っている変数かな?」とすぐにわかるような名前にしましょう。
  • 変数のスコープを意識しましょう
    変数がどこで使えるのかを理解しておくことで、予期せぬエラーを防ぐことができます。

これらの点を意識するだけで、あなたの書くPythonコードは格段に読みやすく、扱いやすいものになりますよ。

【まとめ】Pythonの変数宣言をマスターして、プログラミングをさらに楽しもう!

今回は、Pythonの変数宣言について、基本的なことから少し応用的なことまでを見てきました。「=」というシンプルな記号一つにも、色々な意味やルールが隠されていることがわかりましたね。

変数は、プログラミングにおいてデータを扱うための、まさに「魔法の箱」です。この箱を上手に使いこなせるようになると、Pythonでのプログラミングがもっともっと楽しくなります。さあ、今日からあなたも変数を自由自在に操って、自分だけの素敵なプログラムを作ってみてください!

【関連記事】 「Pythonとは?」に答える最初の一歩

このブログを検索

  • ()

自己紹介

自分の写真
リモートワークでエンジニア兼Webディレクターとして活動しています。プログラミングやAIなど、日々の業務や学びの中で得た知識や気づきをわかりやすく発信し、これからITスキルを身につけたい人にも役立つ情報をお届けします。 note → https://note.com/yurufuri X → https://x.com/mnao111

QooQ