Kebergantungan Import Pekeliling: Perangkap Python Biasa
Menghadapi kebergantungan import pekeliling boleh mengecewakan, terutamanya dalam Python di mana modul sering saling bersambung. Satu contoh sedemikian berlaku apabila __init__.py pakej mengimport pakej lain, manakala fail dalam pakej kedua itu cuba mengimport yang pertama.
Pertimbangkan struktur direktori yang disediakan:
a/ __init__.py b/ __init__.py c/ __init__.py c_file.py d/ __init__.py d_file.py
Dalam a's __init__.py, pakej c diimport. Walau bagaimanapun, c_file.py, yang terletak dalam pakej c, cuba mengimport a.b.d. Kebergantungan bulat ini mengakibatkan ralat pada masa jalan, mendakwa bahawa b tidak wujud.
Menyelesaikan Isu
Satu penyelesaian ialah menangguhkan import. Sebagai contoh, dalam a/__init__.py, anda boleh mentakrifkan fungsi:
<code class="python">def my_function(): from a.b.c import Blah return Blah()</code>
Dengan melengahkan import sehingga ia benar-benar perlu, anda mengelakkan pergantungan bulat. Walau bagaimanapun, adalah bijak untuk mempertimbangkan semula reka bentuk pakej anda. Kebergantungan sedemikian kadangkala boleh menandakan kecacatan reka bentuk atau keperluan untuk pemfaktoran semula.
Atas ialah kandungan terperinci Cara Menyelesaikan Ketergantungan Import Pekeliling dalam Python: Perangkap Biasa. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!