Rumah > pembangunan bahagian belakang > Tutorial Python > Bagaimanakah Saya Boleh Mencegah Pelaksanaan Kod yang Tidak Diingini Apabila Mengimport Modul dalam Python?

Bagaimanakah Saya Boleh Mencegah Pelaksanaan Kod yang Tidak Diingini Apabila Mengimport Modul dalam Python?

Patricia Arquette
Lepaskan: 2024-12-13 18:34:10
asal
966 orang telah melayarinya

How Can I Prevent Unwanted Code Execution When Importing Modules in Python?

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()
Salin selepas log masuk

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!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan