Python 将名称重新分配给自身

Python 将名称重新分配给自身,python,Python,在标准库的多处理包中注意: dict = dict list = list 将\uuuuuu内置项\uuuuuuu上已有的一些名称重新绑定到模块范围有什么意义?它试图实现什么?我在git责怪中寻找了一个解释,但是这次提交的数量很大,没有相关的评论 此代码出现在多处理.dummy中,这是多处理的“伪”版本,它通过线程实现功能。如果你往下看几行,你会发现 def Manager(): return sys.modules[__name__] multiprocessing.dummy将M

在标准库的
多处理
包中注意:

dict = dict
list = list

\uuuuuu内置项\uuuuuuu
上已有的一些名称重新绑定到模块范围有什么意义?它试图实现什么?我在git责怪中寻找了一个解释,但是这次提交的数量很大,没有相关的评论

此代码出现在
多处理.dummy
中,这是
多处理
的“伪”版本,它通过线程实现功能。如果你往下看几行,你会发现

def Manager():
    return sys.modules[__name__]
multiprocessing.dummy
Manager
实现为一个函数,该函数只返回
multiprocessing.dummy
模块本身,因此
multiprocessing.dummy
模块对象必须提供多处理管理器对象的API。台词

dict = dict
list = list
dict
list
名称的绑定从内置名称空间复制到模块的名称空间中,这样就可以执行以下操作

m = multiprocessing.dummy.Manager()
d = m.dict()

就像你有一个真正的
multiprocessing.Manager()

一样,我在旧的存储库中遵循了Subversion注释,但是。等等,不,这是mercurial,而不是Subversion,因为我不熟悉python;出于好奇,这是否意味着
dict=dict
的左侧引用的位置/变量与右侧不同?@Rob:Sort。如果找不到全局变量,全局变量查找将返回到内置变量,如右侧所示。不过,全局变量赋值总是赋值给(模块-)全局变量。因此,此赋值从内置中获取
dict
的值,并将其赋值给具有相同名称的模块全局变量。因此,您对Rob问题的回答是正确的,但无需说“排序”-“是”,它们是不同的名称。