Как запускать функцию при изменении значения?

Я понимаю, что этот вопрос имеет отношение к обработке событий, и я читал об обработчике событий Python и диспетчерах, поэтому либо он не ответил на мой вопрос, либо я полностью пропустил информацию.

Я хочу, чтобы метод m () объекта A запускался всякий раз, когда значение v изменяется:

Например (при условии, что деньги делают счастливым) :

global_wealth = 0

class Person()
    def __init__(self):
        self.wealth = 0
        global global_wealth
        # here is where attribute should be
        # bound to changes in 'global_wealth'
        self.happiness = bind_to(global_wealth, how_happy)

    def how_happy(self, global_wealth):
        return self.wealth / global_wealth

Таким образом, всякий раз, когда значение global_wealth изменяется, все экземпляры класса Person должны соответственно изменять свое значение счастье .

NB: ] Мне пришлось отредактировать вопрос, поскольку первая версия, казалось, предлагала мне использовать методы получения и установки. Извините за путаницу.

48
задан Benjamin 31 May 2011 в 19:43
поделиться