def establishedSessions(self):
return reduce(lambda x, y: x and y, loggedInUsers.values())
所以我有一个带有用户名密钥的会话字典,值是一个布尔值,表示该用户是否已登录。我想知道是否所有用户都连接了这个功能。 PyCharm建议我添加一个@Property装饰器。
我想我有点理解@Property装饰器的作用,但我不明白为什么它适用于这种情况。
答案 0 :(得分:2)
@property
装饰器(不是@Property
)创建一个描述符,允许您访问看起来像对象的成员变量,但其值是函数的返回值。即你会引用obj.established_sessions
而不是obj.established_sessions()
。
属性不能带参数,一般不应有副作用。您的功能符合两个标准,因此很容易成为财产。它不一定是一个。