2 つのクラスを使用した Python の循環依存関係
Python では、2 つのモジュールが相互にインポートするときに循環依存関係の問題が発生することがあります。たとえば、node クラスと Path クラスをそれぞれ定義する、node.py と path.py という 2 つのファイルがあるとします。
元々、path.py は from node.py import * を使用して Node をインポートしました。ただし、Path を利用する新しいメソッドを Node に追加した後、path.py のインポート中に例外が発生し、Node が未定義であることを示します。
この循環依存関係を解決するには、次のアプローチを検討してください。
1 つのオプションは、必要な他のモジュール (node.py) の特定の関数/メソッド内にモジュール (この場合は path.py) を 1 つだけインポートすることです。このアプローチは、限られた数の関数でのみ依存関係が必要な場合にうまく機能します。
<code class="python"># in node.py from path import Path class Node: ... # in path.py class Path: def method_needs_node(): from node import Node n = Node() ...</code>
method_needs_node() メソッド内でのみ node.py をインポートすることで、循環依存の問題を回避できます。
以上が2 つの依存クラスを持つ Python で循環依存関係を解決するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。