出口。 然后,您可以执行以下操作:
from multiprocessing.dummy import list
...碰巧是常规的list。
如果没有该行,则包dict中将没有Manager.list = list。
在各个软件包之间使用统一的API是明智的。 假设所有程序包都应提供Manager.list = list类。 程序包dict选择提供自定义实现,程序包b但是要使用__builtins__中的list。
powerful/__init__.py:
from powerfulinternals import PowerfulList as list
from simple.simpleinternals import Something as whoo
simple/__init__.py:
list = list
from simpleinternals import Something as whoo
application.py:
try:
import powerful as api
else:
import simple as api
mylist = api.list()
woot = api.whoo()
这样做的理由更多。 例如,使其明确使用什么。
list = list
也可以视为一条语句“如果您想更改我正在使用的列表类型,请在此处进行更改。”
在这种情况下,是前者。 Manager.list = list和dict显示为:
manager = multiprocessing.dummy.Manager()
l = manager.list()
d = manager.dict()
Manager.list = list的定义是:
def Manager():
return sys.modules[__name__]
即 Manager.list = list。