2016-09-09 9 views
0
def establishedSessions(self): 
     return reduce(lambda x, y: x and y, loggedInUsers.values()) 

は、だから私は、ユーザー名と値のキーとのセッションの辞書を持って機能するように@Propertyデコレータを追加することを示唆している。私は、すべてのユーザーが接続しているかどうかを知りたいですこの機能はうまく機能します。 PyCharmは@Propertyデコレータを追加することを提案しています。のpythonラムダPyCharmは、そのユーザーがログインしている場合はブール値を示している

私は@Propertyデコレータが何をしているのか理解していますが、このケースではなぜそれが当てはまるのかわかりません。

+2

これはあなたの質問ではありませんが、 'all(loggedInUsers.values())'は少し簡潔です。 –

答えて

2

デコレータ(@Property)は、オブジェクトのメンバ変数のように見えるが、その値が関数の戻り値であるものにアクセスできるようにする記述子を作成します。私。 obj.established_sessions()ではなくobj.established_sessionsを参照します。

プロパティはパラメータを取ることができません。一般に、副作用はありません。あなたの機能は両方の基準を満たしているので、簡単にプロパティになる可能性があります。それは一つである必要はありません。

+0

迅速、明確な返答をいただきありがとうございます。 – shaz

関連する問題