class Sample: c_list = [] def add_c_list(self,data): self.c_list.append(data) print(“出力結果:”, end=” “) sample1 = Sample() sample1.add_c_list(“データ1”) sample2 = Sample() sample2.add_c_list(“データ2″) for item_data in sample1.c_list: print(item_data, end=” “)

このコードの出力結果は次の通りです:

makefile
出力結果: データ1 データ2

この出力結果が得られる理由は、c_listSampleクラスのクラス変数(クラス属性)であり、それがすべてのSampleインスタンスで共有されるためです。したがって、sample1sample2の両方がc_listにデータを追加すると、c_listに追加されたデータはどちらのインスタンスからもアクセス可能になります。

具体的には、sample1.add_c_list("データ1")sample2.add_c_list("データ2")が呼び出されたとき、c_listにはそれぞれ"データ1""データ2"が追加されます。その後、sample1.c_listを走査して"データ1"を出力し、その後にsample2.c_listを走査して"データ2"を出力するため、出力結果は"データ1 データ2"となります。

未分類

Posted by ぼっち