【Python 文法】Pythonの変数の使い方を徹底解説!初心者向けの基本から応用まで

Python

これからPythonの学習を始めようとしている方、あるいは学習を始めたばかりの方にとって、**「変数」**は最初に出会う非常に重要な概念です。プログラミングにおいて、データや値を扱うための基本中の基本となります。

この記事では、Pythonの変数が何であるかという基本的なところから、データの種類(データ型)、命名規則、そして少し応用的な変数の有効範囲(スコープ)まで、初心者の方がつまずきやすいポイントを丁寧に解説していきます。

この記事を読み終える頃には、Pythonで変数を自信を持って扱えるようになり、プログラミングの次のステップへ進むための確かな土台が築けているはずです。

なお、この記事で解説する内容はPython 3系の全てのバージョンで共通して利用できる基本的な文法です。

Pythonの変数とは?まずは基本のキホンをおさえよう

変数とは「データに名前を付けるための箱」

プログラミングにおける変数とは、一言でいうと**「データを入れておくための名前付きの箱」**のようなものです。

数値や文字列といったデータを一時的に保存し、後からその名前(変数名)を使って中身を呼び出したり、変更したりするために使います。毎回「100」という数値を直接書く代わりに、「price」という名前の箱に「100」を入れておけば、後から「price」と書くだけで中身の「100」を利用できるので、コードが分かりやすくなります。

変数の基本的な使い方(宣言と代入)

Pythonで変数を使うのは非常にシンプルです。=(イコール)を使って、変数名に値を入れるだけです。この操作を代入と呼びます。

# messageという名前の変数に'Hello, Python!'という文字列を代入する
message = 'Hello, Python!'

# 変数messageの中身を画面に表示する
print(message)

# numberという名前の変数に123という数値を代入する
number = 123

# 変数numberの中身を画面に表示する
print(number)

このコードでは、messageという名前の箱に'Hello, Python!'という文字列を、numberという箱に123という数値を入れています。print()関数で変数名を指定すると、その中身が表示されます。

変数の中身を更新(再代入)する方法

変数の便利な点は、一度入れた中身を後から自由に変更できることです。これを再代入と呼びます。

# scoreという変数に80を代入
score = 80
print('最初の点数:', score)

# scoreの中身を95に更新(再代入)
score = 95
print('更新後の点数:', score)

このように、同じ変数名に対して新しい値を代入すると、中身が上書きされます。

Pythonの主要なデータ型を理解しよう

変数という「箱」には、様々な種類のデータを入れることができます。このデータの種類のことをデータ型と呼びます。ここでは、Pythonで特によく使われる基本的なデータ型を紹介します。

数値型(int, float)- 整数や小数を扱う

数値を扱うためのデータ型です。

  • int型 (整数): 10-5のような小数点のつかない数値です。
  • float型 (浮動小数点数): 3.14-0.5のような小数点のつく数値です。
# int型 (整数)
user_age = 25

# float型 (浮動小数点数)
tax_rate = 1.10

文字列型(str)- テキストデータを扱う

'Hello'"こんにちは"のような、文字の連なりを扱うデータ型です。シングルクォーテーション(')またはダブルクォーテーション(")で囲んで表現します。

# str型 (文字列)
user_name = "Yamada"
greeting = 'Good morning!'

真偽値型(bool)- TrueかFalseを扱う

bool型は、True (真) か False (偽) のどちらか2つの値しか取らない特殊なデータ型です。条件分岐などで「正しいか、正しくないか」を判断する際に使われます。

# bool型 (真偽値)
is_active = True
is_logged_in = False

データ型を確認する方法(type()関数)

変数にどのデータ型の値が入っているかを確認したい場合は、type()関数を使います。

num = 100
pi = 3.14
name = "Suzuki"
flag = True

print(type(num))      # <class 'int'> と表示される
print(type(pi))       # <class 'float'> と表示される
print(type(name))     # <class 'str'> と表示される
print(type(flag))     # <class 'bool'> と表示される

変数名を付けるときのルールと読みやすくするコツ

変数名は自由に付けることができますが、誰が見ても分かりやすいコードを書くためには、いくつかのルールと慣習に従う必要があります。

守らなければいけない命名規則(エラーになるケース)

以下のルールはPythonの文法として定められており、守らないとエラーが発生します。

  • 使える文字: 英数字(a-z, A-Z, 0-9)とアンダースコア(_)のみ使えます。
  • 最初の文字: 数字から始めることはできません。(例: 1st_userはNG)
  • 予約語は使えない: if, for, classなど、Pythonの文法として意味を持つ単語(予約語)は変数名として使えません。
  • 大文字と小文字の区別: ageAgeは別の変数として扱われます。

分かりやすい名前を付けるための慣習(PEP 8)

こちらはルールではありませんが、世界中のPythonプログラマーが共通して使っている「コーディング規約(PEP 8)」で推奨されている書き方です。

  • 変数名は英小文字を基本とし、単語と単語の間は**アンダースコア(_)**でつなぎます(スネークケースと呼ばれます)。
# 良い例 (スネークケース)
user_name = "Taro"
item_price = 500

# あまり良くない例
UserName = "Taro"   # 大文字で始まる(クラス名で使われることが多い)
itemprice = 500     # 単語の区切りが分かりにくい

変数名を見ただけで、その変数に何が入っているか想像できるような、意味のある名前を付けることが非常に重要です。

【少し応用】変数が使える範囲(スコープ)を理解しよう

変数はプログラムのどこからでも使えるわけではなく、その変数が定義された場所によって、使える範囲が決まっています。この有効範囲のことをスコープと呼びます。

ローカル変数 – 関数の中だけで使える変数

関数の中で定義された変数は、その関数の中でしか使えません。これをローカル変数と呼びます。関数の外からアクセスしようとするとエラーになります。

def show_user_name():
    # このuser_nameはshow_user_name関数の中だけで使えるローカル変数
    user_name = "Sato"
    print(user_name)

show_user_name()  # "Sato" と表示される

# 関数の外からアクセスしようとするとエラーになる
# print(user_name) # NameError: name 'user_name' is not defined

グローバル変数 – プログラム全体で使える変数

関数の外で定義された変数は、プログラムの様々な場所からアクセスできます。これをグローバル変数と呼びます。

# これはプログラム全体で使えるグローバル変数
app_name = "My Awesome App"

def show_app_name():
    # グローバル変数を関数内から参照する
    print(app_name)

show_app_name() # "My Awesome App" と表示される
print(app_name)   # "My Awesome App" と表示される

最初は少し難しく感じるかもしれませんが、「変数が使える範囲には限りがある」ということを頭の片隅に置いておくだけで、将来的なバグを防ぐのに役立ちます。

まとめ

今回は、Pythonにおける変数の基本を徹底的に解説しました。

  • 変数はデータに名前を付けて保存しておくための「箱」
  • =を使って変数に値を代入する
  • 変数にはデータ型int, float, str, boolなど)がある
  • 命名には守るべきルールと、読みやすくするための慣習(スネークケース)がある
  • 変数が使える範囲としてスコープ(ローカル、グローバル)という概念がある

変数は、あらゆるプログラミングの基礎となる要素です。今日学んだことをもとに、ぜひご自身でエディタを開き、色々な変数を作ってprint()で表示してみてください。実際に手を動かすことが、上達への一番の近道です。

コメント

タイトルとURLをコピーしました