python instance attributes don’t overwrite class attributes

>>> class Test(object):
… cache = {}
… def yup(self):
… self.cache = {}

>>> t = Test()
>>> t.cache[3] = 2
>>> t.cache
{3: 2}
>>> Test.cache
{3: 2}
>>> t.yup()
>>> t.cache
{}
>>> Test.cache
{3: 2}

Advertisements