LINUX.ORG.RU

История изменений

Исправление annerleen, (текущая версия) :

а, вот, нашёл как это воспроизвести.

class SomeClass(object):
	users = []

	def add(self, s):
		self.users.append(s)


obj1 = SomeClass()
obj2 = SomeClass()

obj1.add("something")
print(obj2.users) # ['something'] -- wtf?


какого чёрта в этом вашем удаве свойства статические по-дефолту — я не понимать.
ладно, окей, упоролись и по-умолчанию аттрибуты static.
какого чёрта *static аттрибут* можно перезаписывать через self, который какбэ указатель на текущий экземпляр?

«// счастливой отладки» (c)

Исходная версия annerleen, :

а, вот, нашёл как это воспроизвести.

class SomeClass(object):
	users = []

	def add(self, s):
		self.users.append(s)


obj1 = SomeClass()
obj2 = SomeClass()

obj1.add("something")
print(obj2.users) # ['something'] -- wtf?


какого чёрта в этом вашем удаве свойства статические по-дефолту — я не понимать.