首頁  >  文章  >  後端開發  >  如何透過相互頂級導入解決 Python 中的「AttributeError:『模組』物件沒有屬性」問題?

如何透過相互頂級導入解決 Python 中的「AttributeError:『模組』物件沒有屬性」問題?

Linda Hamilton
Linda Hamilton原創
2024-10-20 12:37:30933瀏覽

How to Resolve the

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中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn