理系母の趣味はプログラミング

理系院卒、メーカー技術職の二児の母が、PythonやVBAで色々と作ってアップしていくブログです。

【24日目】オブジェクト指向プログラミング⑧クラス変数を定義する

こんばんは、なぺです。

まだまだオブジェクト指向プログラミングです。
今回は、クラス変数です。

さて、今までインスタンス変数は扱ってきましたが、クラス変数とは、
その名の通りクラスオブジェクトに属する変数です。

クラスもオブジェクトなのですね。
定義の仕方もいたってシンプル、クラス定義の中に普通に定義すればいいのです。

家族の構成員をインスタンスオブジェクトとして生成し、
家族の名前を家族リストに格納するプログラムを作ります。
ここで、家族リストはどのインスタンスからもアクセスできるよう、クラス変数として定義します。

class Family:

    fam = [] #クラス変数としてFamリストを定義
    
    def __init__(self,n,m):
        self.name = n
        self.mother = m
        self.fam.append(self.name)
        #インスタンス生成の度に、nameをfamリストに追加

P1 = Family("umeko","takeko")
P2 = Family("takeko","matsuko")
P3 = Family("matsuko","kikuko")
P4 = Family("ichiro","kikuko")
P5 = Family("jiro","matsuko")

print(Family.fam)
#出力結果
['umeko', 'takeko', 'matsuko', 'ichiro', 'jiro']

できました!

オブジェクト指向にも慣れてきたかも^^
今回はここまで。
だんだん記事が短くなってきましたね!

まあ、そんな時期もある。

参考書はこちらです
「独学プログラマー


コロナで引きこもりでもパソコンとネットがあれば快適生活^^

それではまた^^