在
renderer.py:
import sysif __name__ != "__main__": sys.modules[__name__] = OpenGLRenderer()
现在,模块名称已映射到
OpenGLRenderer实例,并且
import renderer在其他模块中将获得相同的实例。
实际上,您甚至不需要单独的模块。您可以这样做:
import syssys.modules["renderer"] = OpenGLRenderer()import renderer # gives current module access to the "module"
…主模块中的第一件事。
renderer再次导入其他模块将引用同一实例。
您确定真的要首先执行此操作吗?人们并不是期望模块如何行为。



