2011-07-13 37 views
0

如果有這個模塊模塊之間的循環引用?

# 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

'這是壞的嗎?'[是](http://en.wikipedia.org/wiki/Anti-pattern)。 – JBernardo

+0

@JBernardo:無關鏈接。 –

+0

爲什麼你要導入'__main__'? – SingleNegationElimination

回答

1

不是。Python對於像這樣的循環引用沒有問題。唯一必須確定的是,在定義之前,您不要使用其他模塊中的名稱。