Python属性装饰器不工作,为什么?

时间:2013-05-11 21:59:18

标签: python python-2.7

由于某种原因,'obj._max_value'和'obj._current_value'未设置。我看了很多教程,似乎我正确地做了。有谁知道它为什么不起作用?

请参阅代码:https://gist.github.com/matthew-campbell/5561562

(Python 2.7)


更新

class Progress():

  @property
  def progress_bar_length(self):
    return self._progess_bar_length

  @progress_bar_length.setter
  def progress_bar_length(self, length):
    self._progress_bar_length = length

  @progress_bar_length.deleter
  def progress_bar_length(self):
    del self.progress_bar_length

1 个答案:

答案 0 :(得分:22)

property装饰器不适用于旧式类。从object继承您的类以获得新式类:

class Progress(object):
    # ...