Stellen Sie sich einen Code wie diesen vor:
sample.py
class Sample:
sample_list = []
def __init__(self, args1):
self.name = args1
def add_args(self, args2):
self.sample_list.append(args2)
Wenn ich diesen Code ausführe, wird die sample_list wie unten gezeigt zwischen a und b geteilt.
>>> a = Sample('a')
>>> b = Sample('b')
>>> a.add_args('hoge')
>>> b.add_args('huga')
>>> a.sample_list
['hoge', 'huga']
Sie können dieses Problem vermeiden, indem Sie die Klasse wie folgt mit Instanzvariablen entwerfen.
sample.py
class Sample:
def __init__(self, args1):
self.name = args1
self.sample_list = []
def add_args(self, args2):
self.sample_list.append(args2)
Ausführungsergebnis
>>> a = Sample('a')
>>> b = Sample('b')
>>> a.add_args('hoge')
>>> b.add_args('huga')
>>> a.sample_list
['hoge']
>>> b.sample_list
['huga']
Class-Python 3.8.5-Dokumentation
Recommended Posts