Python 变量更改时调用方法

Python 变量更改时调用方法,python,Python,我有一个变量,它是一个列表,其中包含大量的人。比如: 'citizens = ['John', 'Jack', 'Jill', 'Jonas']` #imagine hundreds of names 我想将变量,population链接到此列表的长度,这样每当修改列表时,population变量都会更新。到目前为止,我只调用了如下函数: def update_population() global population population = len(citizens)

我有一个变量,它是一个列表,其中包含大量的人。比如:

'citizens = ['John', 'Jack', 'Jill', 'Jonas']`
#imagine hundreds of names
我想将变量,
population
链接到此列表的长度,这样每当修改列表时,
population
变量都会更新。到目前为止,我只调用了如下函数:

def update_population()
    global population
    population = len(citizens)

但是似乎会有一个更优雅的解决方案,所以这可以自动触发,而无需我显式调用它。

如果它在某个类中,那么您可以将它设置为属性,例如

@property
def population(self):
    return len(self.citizens)

如果它在某个类中,那么您可以将它设置为属性,例如

@property
def population(self):
    return len(self.citizens)

您需要一个具有
公民
字段和
填充
方法并用
@property
修饰的类。您需要一个具有
公民
字段和
填充
方法并用
@property
修饰的类。