Pythonのクラスとインスタンスの属性
クラスは、さまざまなオブジェクトを作成するための青写真です。オブジェクトが作成されてクラスが形成されると、オブジェクトはクラス属性に依存しなくなります。また、クラスは作成されたインスタンスの属性を制御できません。
次の例では、クラス属性を持つMainClassと、独自の属性値を持つメインクラスから作成されたオブジェクトを示しています。これらの値を印刷すると、わかりやすくなります。最終的に、クラスはオブジェクト属性の値にアクセスできません。
例
class MainClass(object): class_attr = 'Sun' def __init__(self, instance_attr): self.instance_attr = instance_attr if __name__ == '__main__': obj1 = MainClass('Mon') obj2 = MainClass('Tue') # print the instance attributes print (obj1.instance_attr) print (obj2.instance_attr) #print the class attribute using Mainclass print(MainClass.class_attr) #print the classattribute using objects print (obj1.class_attr) print (obj2.class_attr) #printing instance attribute as a class property gives error #print (MainClass.instance_attr)
出力
上記のコードを実行すると、次の結果が得られます-
Mon Tue Sun Sun Sun
-
Pythonでの継承
この記事では、Python3.xでの継承と拡張クラスについて学習します。またはそれ以前。 継承は実際の関係をうまく表し、再利用性を提供し、推移性をサポートします。開発時間が短縮され、メンテナンスが容易になり、拡張も容易になります。 継承は大きく5つのタイプに分類されます- シングル 複数 階層的 マルチレベル ハイブリッド 上の図に示されているように、継承とは、実際に親クラスのオブジェクトを作成せずに、他のクラスの機能にアクセスしようとするプロセスです。 ここでは、単一の階層型継承の実装について学習します。 単一継承 例 # parent class class Studen
-
Pythonでクラスの属性を定義する方法は?
クラスの属性 すべて、Pythonのほとんどすべてがオブジェクトです。すべてのオブジェクトには属性とメソッドがあります。したがって、属性はPythonでは非常に基本的です。クラスは、類似したオブジェクトのコレクションである構成です。クラスにも属性があります。クラス属性とインスタンス属性には違いがあります。クラス属性はクラスのインスタンスによって共有されますが、その逆はありません。 例 組み込みの「dir」関数を使用して、オブジェクトの属性のリストを取得できます。例- >>> s = 'abc' >>> len(dir(s)) 71 >