Pythonのオブジェクト(Object)とは?クラスとの関係や特徴をやさしく解説
オブジェクト(Object)とは、Pythonにおけるすべての値(データ)や機能の実体を指します。
Pythonは「すべてがオブジェクト」という考え方に基づいて設計されており、数値、文字列、リスト、関数、クラスさえもオブジェクトです。
オブジェクトとは何か?
オブジェクトとは、クラスから作られた具体的なデータの塊です。
クラスが「設計図」なら、オブジェクトは「その設計図から作られた製品」です。
例:
class Dog:
def __init__(self, name):
self.name = name
def bark(self):
print(f"{self.name}がワンと鳴いた!")
dog1 = Dog("ポチ") # ← オブジェクト(インスタンス)
dog1.bark() # → ポチがワンと鳴いた!
dog1
は Dog
クラスから作られたオブジェクト(インスタンス)です。
オブジェクトの特徴
- 属性(データ)を持つ:
self.name
など
- メソッド(動作)を持つ:
bark()
など
- 複数のオブジェクトは同じクラスから作られても独立して存在できる
Pythonにおける「すべてがオブジェクト」
x = 10
print(type(x)) # →
s = "Hello"
print(type(s)) # →
lst = [1, 2, 3]
print(type(lst)) # →
整数・文字列・リストなど、あらゆるデータはオブジェクトとして扱われ、それぞれのクラスに属しています。
オブジェクトのidとtype
x = 100
print(id(x)) # オブジェクトのメモリ上のID
print(type(x)) # オブジェクトのクラス型
Pythonでは、すべてのオブジェクトが「型」と「ID(識別番号)」を持つことが確認できます。
オブジェクトの再利用と独立性
dog2 = Dog("シロ")
dog1.bark() # → ポチがワンと鳴いた!
dog2.bark() # → シロがワンと鳴いた!
同じクラスから作ったオブジェクトでも、それぞれが独自の属性と状態を持ちます。
まとめ
Pythonにおけるオブジェクト(Object)とは、クラスをもとに作られた具体的な実体のことです。
Pythonはすべてのデータがオブジェクトであるという設計思想を持ち、オブジェクト指向プログラミングの基礎として重要な概念です。
まずはクラスとオブジェクトの関係を理解し、属性・メソッド・インスタンスの使い方に慣れていきましょう!