AttributeError: 'modul' Objek Kurang Atribut dalam Senario Import Bersama
Dalam Python, ralat biasa timbul semasa mengendalikan import bersama antara modul. Pertimbangkan contoh berikut:
<code class="python"># a.py import b # Functions defined within a.py... # b.py import a # Functions defined within b.py...</code>
Setelah menjalankan a.py, ralat berikut mungkin berlaku:
AttributeError: 'module' object has no attribute 'hi'
Ralat ini menunjukkan bahawa a.py tidak dapat mengakses atribut hi dari modul b.py yang diimport. Untuk memahami sebab di sebalik ralat ini, adalah penting untuk mengenali perangkap pengimportan peringkat tertinggi bersama.
Lazimnya, import bersama tidak digalakkan, kerana ia boleh membawa kepada kebergantungan bulat dan menjadikan kod kurang dapat diselenggara. Sebaliknya, Python mengesyorkan mengimport modul dalam fungsi. Dalam contoh yang diberikan, isu ini boleh diselesaikan dengan mengubah suai a.py dan b.py seperti berikut:
<code class="python"># a.py def import_b_and_call_hi(): import b b.hi() # Functions defined within a.py... # b.py def hi(): print("hi")</code>
Kini, apabila a.py dilaksanakan, ia akan mengimport b.py dan memanggil dengan lancar fungsi hi dari dalam fungsi import_b_and_call_hi. Teknik ini memastikan bahawa import bersama tidak menyebabkan sebarang isu pergantungan.
Atas ialah kandungan terperinci Bagaimana untuk Mengelakkan AttributeError dalam Senario Import Bersama dalam Python?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!