Re[3]: [Python] не работают проперти в embedded классе
От: Temoto  
Дата: 18.03.10 11:21
Оценка: +1
IRO>Ну да опечатки при копирования это самое оно. Ок, приношу извенения, не углядел.
IRO>class_object = Class() — или у программиста могут быть другие варианты? — будем разжовывать.

Могут, я уже говорил, если не написать class_object = Class(), то "оно тоже не работает". Откуда кому-то кроме вас может быть известно что там *на самом деле написано*?

T>>"не работает" это уровень пользователя. Вы программист или где? Какую конкретно ошибку или неожиданное поведение вы наблюдаете?

IRO>не вызывается функция set. вместо этого у данного обьекта создается поле X ему присваевается значение.

>>> class Class(object):
...   def setX(self, value):
...     print "set"
...     self.X = 0
...   def getX(self):
...     return self.X
...   x = property(getX, setX)
... 
>>> class_object = Class()
>>> class_object.x = 20
set


Значит, либо вы чего-то недоскопировали (скорее всего), либо, действительно проблема в родительском классе — давайте его код. Но это очень вряд ли, потому в вашем куске нет кода, который вызывает что-то у родителя, единственный вариант тогда остаётся, что Engine.Entity имеет какой-то хитрый метакласс, который играет с полями. В любом случае нужен код Engine.Entity, чтобы сказать наверняка.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.