「労働者が自分の仕事をうまくやりたいなら、まず自分の道具を研ぎ澄まさなければなりません。」 - 孔子、「論語。陸霊公」
表紙 > プログラミング > `__init__` メソッドが Python クラスに不可欠なのはなぜですか?

`__init__` メソッドが Python クラスに不可欠なのはなぜですか?

2024 年 11 月 7 日に公開
ブラウズ:716

Why is the `__init__` method essential for Python classes?

Python クラスで init を使用する理由

Python でのクラスの初期化は、次のようなものを作成できる基本的な概念です。特定の属性と動作を持つクラスのインスタンス。 init メソッドはクラスのコンストラクターとして機能し、新しいオブジェクトの初期化と構成を提供します。

クラスとオブジェクトについて

次のことが重要です。オブジェクトの設計図であるクラスと、それらのクラスのインスタンスであるオブジェクトを区別します。クラスは、そのオブジェクトが継承する属性とメソッドを定義します。クラスからオブジェクトを作成する場合、init が自動的に呼び出され、オブジェクトの属性が初期化されます。

インスタンス属性の構成

init__ 内では、オブジェクトのインスタンス属性を構成できます。これらの属性は各オブジェクトに固有であり、データの保存や状態の維持に使用されます。 __init メソッドにパラメータを渡すことで、各インスタンスの構成をカスタマイズできます。

たとえば、次のクラスは、脚と色の属性を持つ Dog オブジェクトを定義します。

class Dog:
  def __init__(self, legs, color):
    self.legs = legs
    self.color = color

fido = Dog(4, "brown")
spot = Dog(3, "mostly yellow")

この例では、fido と Spot は Dog クラスのインスタンスであり、それぞれ脚と色の固有の値を持ちます。

クラスとインスタンスの属性のカスタマイズ

クラスはすべてのインスタンス間で共有される属性を定義しますが、個々のオブジェクトではなくクラス自体に適用されるクラスレベルの属性を定義することもできます。これらの属性には、インスタンス変数ではなくクラス名を使用してアクセスします。

たとえば、次のクラスは、作成されたすべての Dog インスタンスの人口調査を維持します:

class Dog:
  census = []  # Class-level attribute

  def __init__(self, legs, color):
    self.legs = legs
    self.color = color
    Dog.census.append(self)

fido = Dog(4, "brown")
spot = Dog(3, "mostly yellow")

print(Dog.census)  # Prints [, ]

結論

理解 init は、Python でクラスを効果的に使用するために重要です。これにより、インスタンス属性の初期化、オブジェクト構成のカスタマイズ、クラス レベルとインスタンス レベルの両方の属性を持つクラスの作成が可能になります。

最新のチュートリアル もっと>

免責事項: 提供されるすべてのリソースの一部はインターネットからのものです。お客様の著作権またはその他の権利および利益の侵害がある場合は、詳細な理由を説明し、著作権または権利および利益の証拠を提出して、電子メール [email protected] に送信してください。 できるだけ早く対応させていただきます。

Copyright© 2022 湘ICP备2022001581号-3