Misteri Perlaksanaan Modul Python
Dalam pengaturcaraan Python, adalah mungkin untuk menghadapi tingkah laku yang tidak dijangka semasa mengimport modul. Pertimbangkan program yang menyediakan dua mod operasi: mod interaktif pengguna melalui main.py dan mod kelompok melalui batch.py.
Masalah timbul apabila batch.py mengimport main.py tetapi secara tidak sengaja mencetuskan pelaksanaannya kod. Ini berlaku kerana Python menganggap kata kunci seperti kelas dan def sebagai pernyataan boleh laku dan bukannya pengisytiharan.
Penyelesaian: Pelaksanaan Bersyarat
Untuk mengelakkan pelaksanaan yang tidak diingini ini, Python menawarkan penyelesaian yang diketahui sebagai pelaksanaan bersyarat. Ia melibatkan merangkum kod yang dimaksudkan untuk dijalankan hanya apabila modul dipanggil terus, bukan diimport.
Coretan berikut menunjukkan pendekatan ini:
# Code that can be executed both when called directly and imported ... # Code to be executed only when called directly def main(): ... # Conditional execution to only run 'main' when the module is called directly if __name__ == "__main__": main()
Dalam corak ini, sebarang kod yang diletakkan di luar jika __name__ == blok "__main__" akan dilaksanakan tanpa mengira sama ada modul diimport atau dipanggil terus. Kod dalam blok ini hanya akan dilaksanakan apabila modul dipanggil terus, dengan berkesan menghalang pelaksanaan yang tidak diingini semasa import.
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Mencegah Pelaksanaan Kod yang Tidak Diingini Apabila Mengimport Modul dalam Python?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!