ホームページ  >  記事  >  バックエンド開発  >  Python で循環依存関係を解決するには?

Python で循環依存関係を解決するには?

Susan Sarandon
Susan Sarandonオリジナル
2024-10-19 16:35:30449ブラウズ

How to Resolve Circular Dependency in Python?

Python の循環依存関係

Python モジュールを使用する場合、循環依存関係に遭遇するとイライラする問題になることがあります。この特定のシナリオでは、node クラスと Path クラスをそれぞれ含む、node.py と path.py という 2 つのファイルがあります。

最初に、path.py は、from node.py import * を使用して、node.py をインポートしました。ただし、Path オブジェクトを参照する新しいメソッドを Node に追加した後、path.py をインポートすると、Node が定義されていないためエラーが発生しました。

循環依存関係を解決するには、次の実装を検討してください:

遅延評価を利用する: 初期化中にあるモジュールを別のモジュール内にインポートするのではなく、特定の関数内で必要な場合にのみインポートします。たとえば、node.py では、必要な場合にのみ Path をインポートします:

# in node.py 
from path import Path
class Node 
    ...

path.py では、それを必要とするメソッド内でのみ Node をインポートします:

# in path.py
class Path
  def method_needs_node(): 
    from node import Node
    n = Node()
    ...

以上がPython で循環依存関係を解決するには?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。