Переменные экземпляра класса Python и переменные класса

У меня проблемы с пониманием того, как переменные класса / экземпляра работают в Python. Я не понимаю, почему, когда я пробую этот код, переменная списка кажется переменной класса

class testClass():
    list = []
    def __init__(self):
        self.list.append('thing')

p = testClass()
print p.list

f = testClass()
print f.list

Вывод:

['thing']
['thing', 'thing']

, а когда я это делаю, она кажется переменной экземпляра

class testClass():
    def __init__(self):
        self.list = []
        self.list.append('thing')

p = testClass()
print p.list

f = testClass()
print f.list

Вывод:

['thing']
['thing']
28
задан Eugene Primako 27 September 2018 в 18:07
поделиться