Skip to content

6.1 オブジェクトとは何か

Pythonに含まれるものは、数値からモジュールに至るまで、すべてが オブジェクト です。 普段はPythonがオブジェクトの仕組みを特殊構文で隠しているため、オブジェクトの内部を意識する必要があるのは、独自のオブジェクトを作りたいときや、既存のオブジェクトの動作を変えたいときだけです。

オブジェクトには、大きく分けて以下の2つの要素が含まれています。

  • データ(属性、または変数): そのオブジェクトが持つ情報。
  • コード(メソッド、または関数): そのオブジェクトに対する操作や振る舞い。

オブジェクトは個別の具体的な実体(インスタンス)を表現し、メソッドはそのオブジェクトが他のものとどのようにやり取りするかを定義します。

例:数値と文字列のオブジェクト

Section titled “例:数値と文字列のオブジェクト”

例えば num = 7 と記述した場合、内部的には「値が7の整数型オブジェクト」が作られ、num という名前にそのオブジェクトの参照が代入されています。 また、文字列もオブジェクトであり、専用のメソッドを持っています。

# 整数オブジェクトの作成
num = 7
# 文字列オブジェクトとそのメソッド(動詞)の使用例
word1 = 'cat'
print(word1.capitalize()) # Cat
word2 = 'duck'
print(word2.replace('d', 'b')) # buck

Pythonには、すでに整数や文字列を生成するための「クラス」が存在しています。 今まで誰も作ったことがない、完全に新しいオブジェクトを作りたい場合には、そのオブジェクトの内容(設計図)を示す「クラス」を新しく定義する必要があります。