如果有这个模块
# mymodule.py
import __main__
我在python解释器中导入它:
>>> import mymodule
>>> dir(mymodule)
['__builtins__', '__doc__', '__file__', '__main__', '__name__', '__package__']
>>> dir()
['__builtins__', '__doc__', '__name__', '__package__', 'mymodule']
>>> import sys
>>> sys.modules['__main__'] == mymodule.__main__
True
>>> mymodule == mymodule.__main__.mymodule
True
我刚刚通过导入导入__main__
的模块创建了循环引用。这不好吗?
答案 0 :(得分:1)
没有。 Python对像这样的循环引用没有问题。您唯一必须确定的是,在定义之前,您不要使用其他模块中的名称。