logo

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

Python は、再利用可能なコードを作成するための強力なツールであるクラスを提供するオブジェクト指向プログラミング言語です。共通の特性と動作を持つオブジェクトを記述するには、クラスが使用されます。この記事では、Python のクラスとオブジェクトの考え方を検討します。

Python のクラス:

Python では、クラスはデータ自体とその操作に使用できるメソッドの両方を含むユーザー定義のデータ型です。ある意味、クラスはオブジェクトを作成するためのテンプレートとして機能します。これらは、オブジェクトが使用する特性と操作を提供します。

クラスが建物のプロトタイプであると仮定します。建物には、床、部屋、ドア、窓などに関するすべての詳細が含まれており、これらの詳細に基づいて、必要なだけ建物を作成できます。したがって、建物は 1 つのクラスとして見ることができ、このクラスのオブジェクトをいくつでも作成できます。

Python でのクラスの作成

Python では、キーワード class に続いてクラス名を使用してクラスを作成できます。クラスを作成するための構文を以下に示します。

構文

個別にカウントする
 class ClassName: #statement_suite 

Python では、各クラスがドキュメント文字列に関連付けられていることに注意する必要があります。ドキュメント文字列には、次のコマンドを使用してアクセスできます。 .__doc__。 クラスには、フィールド、コンストラクター、関数などの定義を含むステートメントスイートが含まれます。

例:

コード:

 class Person: def __init__(self, name, age): # This is the constructor method that is called when creating a new Person object # It takes two parameters, name and age, and initializes them as attributes of the object self.name = name self.age = age def greet(self): # This is a method of the Person class that prints a greeting message print('Hello, my name is ' + self.name) 

名前と年齢は、Person クラスの 2 つのプロパティです。さらに、挨拶を印刷するgreetという機能もあります。

Python のオブジェクト:

オブジェクトは、固有の特性と機能を持つクラスの特定のインスタンスです。クラスが確立されたら、それに基づいてオブジェクトを作成できます。クラス コンストラクターを使用すると、Python でクラスのオブジェクトを作成できます。オブジェクトの属性は、__init__ という名前の特別なプロシージャであるコンストラクターで初期化されます。

構文:

 # Declare an object of a class object_name = Class_Name(arguments) 

例:

git でのチェックアウト

コード:

 class Person: def __init__(self, name, age): self.name = name self.age = age def greet(self): print('Hello, my name is ' + self.name) # Create a new instance of the Person class and assign it to the variable person1 person1 = Person('Ayan', 25) person1.greet() 

出力:

 'Hello, my name is Ayan' 

自己パラメータ

自己パラメータは、クラスの現在のインスタンスを参照し、クラス変数にアクセスします。 self の代わりに何でも使用できますが、それはクラスに属する関数の最初のパラメーターである必要があります。

_ _init_ _ メソッド

Python でクラスのインスタンスを作成するには、__init__ と呼ばれる特定の関数が呼び出されます。これはオブジェクトの属性を設定するために使用されますが、コンストラクターと呼ばれることもよくあります。

自己引数は、__init__ メソッドで必要な唯一の引数です。この引数は、新しく生成されたクラスのインスタンスを参照します。オブジェクトに関連付けられた各属性の値を初期化するには、__init__ メソッドで追加の引数を宣言します。

クラス変数とインスタンス変数

クラスのすべてのインスタンスはクラス変数を交換します。これらはクラス メソッドとは独立して機能し、クラス名を使用してアクセスできます。以下に図を示します。

コード:

 class Person: count = 0 # This is a class variable def __init__(self, name, age): self.name = name # This is an instance variable self.age = age Person.count += 1 # Accessing the class variable using the name of the class person1 = Person('Ayan', 25) person2 = Person('Bobby', 30) print(Person.count) 

出力:

 2 

一方、インスタンス変数はクラスの各インスタンスに固有です。これらは、__init__ メソッドの自己引数を使用して指定されます。以下に図を示します。

Javaはinstanceofです

コード:

 class Person: def __init__(self, name, age): self.name = name # This is an instance variable self.age = age person1 = Person('Ayan', 25) person2 = Person('Bobby', 30) print(person1.name) print(person2.age) 

出力:

 Ayan 30 

クラス変数はクラス メソッドとは別に作成され、すべてのクラス コピーで共有されます。クラスのすべてのインスタンスには独自のインスタンス変数があり、自己引数を使用して __init__ メソッドで指定されます。

結論:

結論として、Python のクラスとオブジェクトの概念は、再利用可能なプログラムを作成できる強力なアイデアです。情報と機能を 1 つのエンティティに結合し、クラスを確立することで多くのオブジェクトを構築するために使用できます。ドット表記を使用すると、オブジェクトの作成後にそのメソッドとプロパティにアクセスできます。 Python のクラスとオブジェクトを理解することで、より論理的で効果的で管理しやすいコードを開発できます。