フリーキーズ | 独学プログラミング

Pythonの変数の種類一覧と使い方の例

最終更新日
【画像】Pythonの変数の種類一覧と使い方の例

Pythonが提供する多様な変数型とプログラミング学習でそれらを効果的に使用する方法を紹介します。このガイドは、Pythonの変数型とその応用について理解を深めたい初心者に最適です。

Pythonの変数型をマスターするメリット

Pythonの変数型を理解することは、世界で広く使われているこのプログラミング言語を使いこなすための重要なステップとなります。変数はプログラムの構成要素であり、プログラムの実行に伴って変化するデータを格納するものです。Pythonの動的型付けにより、変数の型を簡単に変更できますが、それぞれの変数の型をしっかりと理解することで、より効率的なコーディングやエラーの防止につながります。整数や浮動小数点から文字列、ブーリアン、そしてリストやタプル、セット、辞書といった複雑なデータ構造まで、Pythonで必須の変数型について説明していきます。

今後は練習が重要であることを忘れないでください。自分で小さなプロジェクトを作ったり、コーディングプラットフォームで問題を解いたりしてスキルを磨いてください。また、各変数タイプについて、より複雑なユースケースを探求することを恐れないでください。ミュータブル型とイミュータブル型のような概念を扱ったり、さまざまな状況で使用する最適な変数型を理解したりする際に、困難に遭遇するのは当たり前のことです。学習、コーディング、実験によってPythonの変数型をマスターする道のりを行くことで、あなたのプログラミング能力を大きく向上させられます。

Pythonにおける変数の意義

Pythonの変数は他のプログラミング言語と同様に、データの保存場所として機能します。プログラムの過程で変化する可能性のある値を保持するため、「変数」と呼ばれるようになりました。変数のおかげでプログラマーはデータを操作し、アルゴリズムを構築し、動的なプログラムを作成できるため不可欠です。変数がなければ、データを使用するたびに手動で変更しなければならず、非常に非効率的で非現実的です。

Pythonでは変数は値を代入した瞬間に生成され、型を宣言する必要がないため、Pythonは動的型付け言語となっています。数値や文字列、複雑なオブジェクトなど、さまざまなタイプの値を保持できます。例えば、 x という名前の変数に数字の 5 を格納したい場合、 x = 5 と書くだけです。プログラムの後半で x10 に変更する必要がある場合は、x = 10 と書いて再代入すれば良いだけです。このように、値を保存したり、呼び出したり、変更したりできるため、変数はPythonでコードを書く際の基本的なツールとなっています。

Pythonの変数とは何か

Pythonの変数とは、基本的にコンピュータのメモリに保存されている値を表す名前です。数値、文字列、リスト、またはより複雑なオブジェクトなど、特定のデータ要素に付けられるラベルのように機能します。変数を作成するたびに、その変数のためにメモリ内のスペースを確保します。

Pythonで変数を作成するのは簡単です。 sample_var = "Hello, world!" のように、名前に値を代入するだけで変数が生成されます。この場合、 sample_var が変数の名前で、 "Hello, world!" が変数が持つ値です。変数は任意のタイミングで再代入でき、柔軟な対応が可能となっています。例えば、 sample_var = 100 とすると、 sample_var の値が "Hello, world!" から 100 に変更されます。このようにプログラム内でデータを効率的に管理できるのが、Pythonのダイナミックな特徴です。

なぜ変数がPythonプログラミングの基礎となるのか

変数はPythonのプログラムの基本的な構成要素です。変数によって、プログラマはデータを保存し、操作し、取り出すことができます。また、プログラムの状態を追跡し、変化させることができるため、アルゴリズムの実装には欠かせません。基本的に変数はコードにダイナミズムをもたらし、異なるデータに基づいて異なるアクションを実行することを可能にします。

例えば、ユーザーを入力を可能にする簡単なプログラムを考えてみましょう。変数がなければ、すべてのユーザーに対して別々のコードを書く必要があります。しかし、変数があれば、すべてのユーザーに対応する1つのコードを書くことができます。例えば以下のように書きます。

username = input("Please enter your name: ")
print("こんにちは、" + username + "さん!")

ここでは、変数 username にユーザーが入力した名前を格納し、それを使って挨拶を表示しています。このように変数はプログラムをより効率的かつ柔軟にし、さまざまな状況に対応できます。

Pythonの変数型の使い方: 実践的な例

Pythonは、整数、浮動小数点、文字列、ブーリアン、リスト、タプル、セット、辞書など、変数として使用できるさまざまなデータ型をサポートしています。ここでは、これらの変数型のいくつかを紹介する簡単な例を示します。

# 変数割当
name = "太郎"  # string(文字列)
age = 25        # integer(整数)
height = 1.70   # float(浮動小数点)
is_student = False  # boolean(真偽)

この例では、各変数に異なるデータ型が割り当てられています。変数名は文字列、年齢は整数、身長は浮動小数点、is_studentはブール値(ブーリアン)です。異なるタイプの変数とそれをいつ使うかを理解することは、Pythonプログラミングの基本です。

Pythonのinteger(整数型)を扱う

integerは整数を保持する変数の一種です。Pythonでは整数を用いてさまざまな演算ができます。以下はその例です。

x = 5  # integer
y = 2  # integer

# 足し算
addition = x + y
print("計算結果:", addition)  # 出力: 7

# 引き算
subtraction = x - y
print("計算結果:", subtraction)  # 出力: 3

この例では、変数 xy はいずれも整数です。これらは算術演算で和と差を計算し、それぞれ加算変数と減算変数へ格納するために使用されます。

Pythonのfloat(浮動小数点型)を操作する

float(フロート: 浮動小数点型)とは、10進数を保持する変数の一種です。floatは整数と同じように数学的な演算で使用できます。以下はその例です。

x = 1.5  # float
y = 2.3  # float

# 掛け算
multiplication = x * y
print("計算結果:", multiplication)  # 出力: 3.45

# 割り算
division = y / x
print("計算結果:", division)  # 出力: 1.5333333333333332

この例では、変数 xy は両方とも浮動小数点数です。これらは算術演算で積と商を計算し、それぞれ乗算変数と除算変数へ格納するために使用されます。

Pythonのstring(文字列型)を理解する

stringは文字の並びであり、Pythonではさまざまな操作が可能です。以下はその例です。

greeting = "こんにちは"  # string
name = "花子"  # string

# 文字列の連結
message = greeting + "、" + name + "さん!"
print(message)  # 出力: こんにちは、花子さん!

この例では、変数greetingとnameはどちらも文字列です。これらを+演算子で連結(結合)して、新しい文字列「message」を生成しています。

Pythonのboolean(真偽型)を活用する

boolean(真偽型: ブーリアン)は、真か偽の2種類を保持できます。一般的には、条件文の中で使用されます。以下はその例です。

is_sunny = True  # boolean

# 条件式
if is_sunny:
    print("サングラスをかけましょう。")
else:
    print("傘を差しましょう。")

この例では、 is_sunny はboolean変数です。その値が True の場合、「サングラスをかけましょう。」というメッセージが表示されます。 False の場合は、「傘を差しましょう。」というメッセージが表示されます。

Pythonのlist(配列型)の動作

list(配列型: リスト)は、さまざまなタイプのアイテムを順序立てて集めたものです。ここではリストの使い方の例を紹介します。

fruits = ["apple", "banana", "cherry"]  # list

# リスト変数内の要素にアクセスする
print(fruits[1])  # 出力: banana

この例では、fruits は3つの文字列を含むlistです。listの要素には、インデックス(list内の項目の位置)を使ってアクセスでき、最初の項目は0から始まります。

Pythonのtuple(タプル型)を探る

tupleはリストと似ていますが、immutable(不変: イミュータブル)であり、作成後に要素を変更できません。ここでは、タプルの使い方を説明します。

coordinates = (10.0, 20.0)  # tuple

# タプル変数にアクセスする
print(coordinates[0])  # 出力: 10.0

この例では、 coordinates は2つの浮動小数点を含むタプルです。tupleの要素には、listと同じようにインデックスを使ってアクセスできます。

Pythonのset(集合型)を活用する

setは、ユニークな要素を集めた順序のない集合体です。複数の項目を1つの変数に格納し、重複がないことを確認したい場合に便利です。ここではセットの使い方を説明します。

unique_numbers = {1, 2, 3, 2, 1}  # set

# set変数の中身を表示する
print(unique_numbers)  # 出力: {1, 2, 3}

この例では、 unique_numbers は整数を含む集合です。セットの定義で1と2が2回登場しても、結果のセットにはユニークな要素しか含まれません。

Pythonのdictionary(辞書型)をマスターする

dictionaryは、キー(key)と値(value)のペアのコレクションです。キーと値のセットを関連付ける必要がある場合に便利です。ここでは辞書の使い方を説明します。

student_grades = {"花子": 90, "太郎": 85, "山田": 92}  # dictionary

# 辞書変数にアクセスする
print(student_grades["花子"])  # 出力: 90

この例では student_grades は文字列をキー、整数を値とする辞書です。生徒の名前を使って成績にアクセスできます。

Pythonの変数で避けるべきよくある落とし穴

Pythonの変数でよくある落とし穴は、定義される前に変数を使用することで、 NameError が発生することです。例えば、まだ定義されていない変数を表示しようとするとこのようなエラーになります。

print(x)  # NameError: name 'x' is not defined

また、互換性のない型を結合しようとすると、 TypeError が発生するという落とし穴があります。例えば、文字列と整数を明示的に変換せずに連結しようとするとこのエラーが発生します。

age = 25
print("私の年齢は" + age)  # TypeError: can only concatenate str (not "int") to str

この場合、連結する前に str() 関数で age を文字列に変換しておく必要があります。

age = 25
print("私の年齢は" + str(age))

ミュータブル変数とイミュータブル変数を理解する

Pythonでは、変数にはミュータブル(可変: mutable)とイミュータブル(不変: immutable)があります。ミュータブルなオブジェクトは作成後に変更でき、イミュータブルなオブジェクトは変更できません。リスト、セット、辞書はミュータブルであり、要素の追加、削除、変更が可能です。一方、整数、浮動小数点数、ブーリアン、文字列、タプルは不変であり、一度定義するとその値は固定されます。
整数、浮動小数点数、ブーリアン、文字列、タプルを変更する場合は、変数を再度定義して割当する必要があります。

ミュータブルオブジェクトとイミュータブルオブジェクトの違いを理解することは、変数を関数に渡すときや、ある変数を別の変数へ割り当てるときに重要です。例えば、ミュータブルオブジェクトを別の変数に代入した場合、一方の変数の変更は他方の変数に影響を与えますが、これは両者がメモリ上の同じオブジェクトを参照しているためです。

TypeErrorの回避

TypeError(型エラー)は、操作や関数が不適切な型のオブジェクトへ適用された場合に発生します。Pythonは動的型付けされているので、プログラム内で変数を異なるデータ型に再割り当てできます。しかし、すべての操作がすべてのデータ型に対応しているわけではありません。

例えば、整数に文字列を追加はできません。

x = "Hello"
y = 5
print(x + y)  # TypeError: can only concatenate str (not "int") to str

TypeErrorを避けるには、実行する操作が関係する変数のデータ型と互換性があることを確認します。変数のデータ型を確認するには、 type() 関数を使用します。

x = "Hello"
y = 5

if type(y) is str: # もしyが文字列型であれば
    print(x + y)  # TypeError: can only concatenate str (not "int") to str
else:
    print("xとyの型が同一ではありません。")

適切な変数名の命名規則

Pythonでは、変数名は説明的なものにし、小文字とアンダースコアで単語を区切り、 snake_case とも呼ばれます。例えば、 student_nametotal_score のような感じです。これにより、あなたのコードは読みやすく理解しやすくなります。Pythonのキーワード(for、while、ifなど)を変数名として使用することは、予期せぬ動作を引き起こす可能性があるため避けてください。

変数名は数字で始めるべきではない。 1st_student は無効ですが、 student_1 は問題ありません。また、Pythonでは変数名にほぼすべての文字を使用できますが、特殊文字は避け、英数字とアンダースコアに限定するのがベストです。これらの規則に従うことで、自分のコードが明確で理解しやすくなり、自分自身や他人に対しても理解されるようになります。

関連するコンテンツ