AttributeError: Module Object Missing Attribute
相互参照を持つ 2 つのモジュールをインポートしようとすると、「AttributeError: '」というエラーが発生することがあります。モジュールのオブジェクトには属性 [重複] がありません。」これは、モジュール構造が相互に依存しており、循環参照が発生する場合によく発生します。
説明
提供されたコードでは、モジュール 'a.py' が試行します。 「b.py」をインポートし、「b.py」内に「a.py」のインポートがあります。これにより循環依存関係が作成され、Python で「AttributeError」が発生します。
解決策
この問題を解決するには、トップレベル モジュール内での相互インポートを避けてください。代わりに、必要に応じて関数を使用してモジュールをインポートします。
Python の例
前:
<code class="python"># a.py import b # b.py import a</code>
後:
<code class="python"># a.py def call_b(): import b b.hi() # b.py def hi(): print("hi")</code>
これにより、「a.py」はトップレベルで「b.py」をインポートしなくなり、循環依存関係が解消されます。
以上が循環参照を使用して相互インポートを試みたときに「AttributeError: Module Object Missing Attribute」を解決するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。