AttributeError: 'module' object has no attribute
當運行具有相互頂級模組的Python 單元到錯誤“AttributeError:'模組'物件沒有屬性'hi'”。發生此錯誤的原因是兩個模組的 import 語句中的設定有問題。
在 a.py 中,導入模組 b 並呼叫其 hi() 函數。然而,在引用的b.py中,沒有hi屬性。這會導致錯誤,表示在 a 的上下文中無法從 b 存取 hi() 函數。
要修正此問題,通常不建議進行這樣的相互頂級導入。相反,請考慮如下方式在函數內導入模組:
<code class="python"># In b.py: def cause_a_to_do_something(): import a a.do_something()</code>
透過將導入封裝在b.py 中的函數內,您可以允許a.py 安全地導入b 而不會觸發錯誤。此外,此方法可確保導入操作僅發生一次,儘管該函數被多次呼叫。
以上是如何透過相互頂級導入解決 Python 中的「AttributeError:『模組』物件沒有屬性」問題?的詳細內容。更多資訊請關注PHP中文網其他相關文章!