拿到凭证再兑现
(每道题开头都有同一段:Prom 是「未来结果的凭证」——一开始 done=False(pending),set(v) 之后 done=True、get() 才交回值,否则交回 None。)
先建一个 Prom(还没算好),取一次;set 之后再取一次:
class Prom:
"""未来结果的凭证(Future/Promise):一开始 pending,set 之后变 done、才能取到值。"""
def __init__(self):
self.done = False
self.value = None
def set(self, v):
self.value = v
self.done = True
def get(self):
"""done 了交回值,否则交回 None(还没算好)。"""
return self.value if self.done else None
p = Prom()
a = p.get()
p.set(42)
b = p.get()
print(str(a) + "/" + str(b))
全部评论