from typing import Dict
class Borg:
_shared_state: Dict[str, str] = {}
def __init__(self):
self.__dict__ = self._shared_state
class YourBorg(Borg):
def __init__(self, state=None):
super().__init__()
if state:
self.state = state
else:
# initiate the first instance with default state
if not hasattr(self, "state"):
self.state = "Init" # 这里为什么会更新到 _shared_state 的 value 中
def __str__(self):
return self.state
第 19 行, self.state = "Init"
后, 会将_shared_state: {}
, 更新为 _shared_state: {"state": "Init"}
这是为什么?
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.