Python
 Computer >> コンピューター >  >> プログラミング >> Python

Pythonのオブジェクトとは?具体例を使ってわかりやすく解説

Pythonはオブジェクト指向プログラミング言語であり、Python内のほぼすべてのものがオブジェクトとして扱われます。オブジェクトはそれぞれ固有の属性(properties)と振る舞い(methods)を持っています。

クラスとはオブジェクトの設計図であり、オブジェクトを生成するための「コンストラクタ」とも呼ばれます。

1つのクラスから複数のオブジェクトを作成でき、オブジェクトごとに属性の値を変えることも可能です。

オブジェクトの属性と振る舞いの例

ここでは「車」をオブジェクトの例として考えてみましょう。車の属性には、色、メーカー(ブランド)名、製造年、価格、燃費などが含まれます。一方、車の振る舞いとは、その車が実行できる機能のことであり、速度を上げる、速度を下げる、ブレーキをかけるなどが該当します。

オブジェクトの考え方は、現実世界の物事と密接に関連しています。私たちの身の回りにあるすべてのものには、何らかの属性と機能が備わっているのです。

クラスとオブジェクトの例

同じクラスに属するオブジェクトでも、属性の値はそれぞれ異なります。たとえば、「Person(人間)」をクラスとして捉え、名前、年齢、性別などの属性を持たせることができます。そして、一人ひとりの個人をPersonクラスのオブジェクトとして表現できます。各個人は、クラスが持つ属性に対して異なる値を持つことになります。つまり、名前も年齢も性別も人によって違うわけです。

インスタンス化とは何か?

オブジェクトは「クラスのインスタンス」とも呼ばれます。したがって、クラスからオブジェクトを生成するプロセスのことをインスタンス化(instantiation)と呼びます。

Pythonでのクラスの定義方法

Pythonでは関数を「def」キーワードで定義しますが、同様にクラスは「class」キーワードを使って定義します。クラスはオブジェクトの設計図であるため、共通の属性やメソッドはすべてクラス内で宣言・定義します。クラスから生成されたさまざまなオブジェクトは、これらの属性や関数にアクセスでき、さらにクラス内で定義された属性に対して、オブジェクトごとに独自の値を持たせることもできます。

Pythonでのオブジェクトの作成方法

クラスのオブジェクトを作成するのは簡単です。クラス名さえ分かれば、次のようにしてオブジェクトを生成できます。

object_name = class_name()

コード例

class Person:
    name=""
    age=0
    city=""
    def display(self):
        print("Name : ",self.name)
        print("Age : ",self.age)
        print("City : ",self.city)

p1=Person()
p1.name="Rahul"
p1.age=20
p1.city="Kolkata"
p1.display()

print()

p2=Person()
p2.name="Karan"
p2.age=22
p2.city="Bangalore"
p2.display()

print()
p1.display()

上記のコードでは、p1 = Person() の部分がオブジェクトのインスタンス化にあたり、p1 がオブジェクトの名前です。オブジェクト p1 を通じてクラスの属性にアクセスし、それぞれ異なる値を設定した後、display 関数を呼び出してこのオブジェクトの値を表示しています。続いて、同じ手順で2つ目のオブジェクト p2 を作成し、p2 の属性を表示しています。

最後に、もう一度オブジェクト p1 に対して display() を呼び出しています。これは、各オブジェクトが自身の属性値を独立して保持しており、他のオブジェクトの影響を受けないことを示すためです。

実行結果

Name : Rahul
Age : 20
City : Kolkata
Name : Karan
Age : 22
City : Bangalore
Name : Rahul
Age : 20
City : Kolkata
  1. JavaScriptでオブジェクトが配列かどうか判定する方法!Array.isArray()の使い方を実例付きで解説

    JavaScriptであるオブジェクトが配列(Array)なのか、それとも別のオブジェクトなのかを判別したい場面はよくあります。そんなときに便利なのが Array.isArray() メソッドです。Array.isArray() は、引数に渡した値が配列であれば true を、そうでなければ false を返すメソッドです。この戻り値のブール値(Boolean)を確認することで、対象が配列かどうかを簡単に判定できます。Array.isArray() の基本構文Array.isArray(value)value:判定したいオブジェクトや値戻り値:配列なら true、それ以外は falsetype

  2. JavaScriptのクロージャとは?具体例でわかりやすく解説

    JavaScriptのクロージャ(Closure)とは、外側の関数が実行を終えて値を返した後でも、内側の関数から外側の関数のスコープにある変数へアクセスできる仕組みのことです。つまり、内側の関数は、外側の関数で定義された変数を常に参照し続けることができます。クロージャは「関数を返す関数」のパターンでよく利用され、状態の保持やデータの隠蔽(カプセル化)など、実用的な場面で活躍します。以下は、JavaScriptでクロージャを使った具体的なコード例です。コード例<!DOCTYPE html> <html lang="en" > <head>