class Numbers:
data = []
def read_from_row(self, row):
row_list = list(row)
for i in row_list:
self.data.append(i)
list1 = ["15","16"]
list2 = ["17","18"]
instance = Numbers()
instance.read_from_row(list1)
print(instance.data)
instance = Numbers()
instance.read_from_row(list2)
print(instance.data)
ここにコードがあります。だから初めにinstance
はクラスNumbers
のインスタンスであり、最初のリストを読んだ後にprint(instance.data)
は自然に['15', '16']
を印刷します。しかし、私は同じ変数instance
にまだNumbers
クラスの新しいインスタンスを作成しますが、2番目のリストから読み込んだ後も何らかの理由で最初のリストのデータが残ります。 ['15', '16', '17', '18']
を出力しています。Pythonクラスインスタンスの問題
私はPythonの初心者であり、C/C++を長時間コーディングした後、なぜこのようなことが起こるのか、何が期待されるのか理解できません。私はPython 2.7を使用しています。
ありがとうございます。
Pythonの命名規則を示している場合は、 。 – pvg
@pvg私はしないようにしていましたが、あなたが正しいと私はコードを更新しました。 – thebjorn