Kebergantungan Pekeliling dalam Python dengan Dua Kelas
Dalam Python, anda mungkin menghadapi isu pergantungan bulat apabila dua modul saling mengimport antara satu sama lain. Sebagai contoh, pertimbangkan anda mempunyai dua fail, node.py dan path.py, masing-masing mentakrifkan kelas Node dan Path.
Pada asalnya, path.py mengimport Node menggunakan daripada import node.py *. Walau bagaimanapun, selepas menambah kaedah baharu dalam Node yang menggunakan Path, anda menghadapi pengecualian semasa mengimport path.py, yang menunjukkan bahawa Node tidak ditentukan.
Untuk menyelesaikan pergantungan bulat ini, pertimbangkan pendekatan berikut:
Satu pilihan ialah mengimport hanya satu modul (dalam kes ini, path.py) dalam fungsi/kaedah khusus modul lain (node.py) di mana ia diperlukan. Pendekatan ini berfungsi dengan baik jika anda memerlukan pergantungan hanya dalam bilangan fungsi yang terhad:
<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>
Dengan mengimport node.py hanya dalam kaedah method_needs_node(), anda mengelakkan isu pergantungan bulat.
Atas ialah kandungan terperinci Bagaimana untuk Menyelesaikan Ketergantungan Pekeliling dalam Python dengan Dua Kelas Bergantung?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!