以下のコードがどのように機能するのか理解できません。
class Host:
name = None
fileList = []
def __init__(self, hostName):
self.name = hostName
def AddInfo(self,file):
self.fileList.append(file)
def Cleanup(self):
self.fileList = []
2つのインスタンスを作成します。
h1 = Host("hostName1")
h1.AddInfo("h1")
h1.Cleanup()
print h1.fileList, Host.fileList
h2 = Host("hostName2")
h2.AddInfo("h2")
print h2.fileList, Host.fileList
結果は次のとおりです。
h1.fileList = [], Host.fileList = ['h1']
h2.fileList = ['h1', 'h2'], Host.fileList = ['h1', 'h2']
値が変更される理由Host.fileList
-インスタンスにのみ新しい値を割り当てましたか?なぜそのような価値があるのですか?私はここh2.fileList
で期待していましたか?['h2']