переменные класса являются общими для всех экземпляров в python? [дубликат]

На этот вопрос уже есть ответ здесь:

Я начал программировать на питоне неделю назад, это моя ошибка, я начал кодировать с использованием oops, классов и объектов так скоро. Я предположил, что мое знание C++ поможет... Меня укусил следующий код

class A:
     var=0
     list=[]
     def __init__(self):
            pass

Здесь, к моему удивлению, var и list являются своего рода глобальными переменными, кажется, они являются общими для всех экземпляров... Я думал, что это было по-разному во всех экземплярах..... Мне потребовалось полдня, чтобы понять это.... Не имеет ни малейшего смысла, что переменная может быть доступна только объекту класса, но является общей для всех все экземпляры....... Просто любопытно, в чем причина?????

24
задан Ken White 14 June 2012 в 19:57
поделиться