当我阅读twisted框架教程中关于“编写服务器”的代码时,我看到了下面几行让我困惑的代码。你知道吗
class Chat(LineReceiver):
def __init__(self,users):
self.users = users
class ChatFactory(Factory):
def __init__(self):
self.users = {} # maps user names to Chat instances
def buildProtocol(self, addr):
return Chat(self.users)
任何人请解释一下自助用户在ChatFactory类中,每当自助用户在聊天室类更新。你知道吗
在:
表达式
f.users
和p.users
引用同一个字典。这是因为ChatFactory.buildProtocol
将self.users
传递给Chat
初始值设定项,Chat
初始值设定项保存对它的引用。你知道吗因为它是同一个字典,所以当另一个字典被更新时,没有什么会导致另一个字典被更新,因为“one”和“the other”实际上是同一个东西。你知道吗
相关问题 更多 >
编程相关推荐