Apa yang dilakukan 'jika nama == "__main__":'?
Apabila menjalankan skrip Python sebagai atur cara utama, ia menetapkan rentetan berkod keras "__main__" kepada pembolehubah nama. Jika skrip diimport oleh modul lain, nama diberikan kepada nama yang digunakan untuk import; contohnya, jika skrip lain mengimport foo.py sebagai import foo, maka pembolehubah nama dalam foo.py menjadi "foo".
Dengan menyemak sama ada nama ialah sama dengan "__main__", ia memastikan bahawa kod dalam pengawal hanya dilaksanakan apabila skrip dijalankan secara langsung, bukan apabila ia diimport sebagai modul.
Mengapa ini perlu?
Termasuk if __name__ == "__main__": pernyataan menawarkan beberapa faedah:
-
Pencegahan pelaksanaan yang tidak diingini : Jika skrip diimport oleh modul lain, kod dalam pengawal tidak akan dilaksanakan, menghalang kemalangan pelaksanaan kod.
-
Gelagat berbeza untuk konteks berbeza: Ia membenarkan pelaksanaan kod berbeza berdasarkan konteks (berjalan sebagai program utama atau sebagai modul). Sebagai contoh, anda boleh mempunyai fungsi tertentu yang hanya dilaksanakan apabila skrip dijalankan secara langsung, atau anda boleh melakukan pemulaan atau rutin persediaan hanya apabila skrip dijalankan sebagai atur cara utama.
-
Perlindungan daripada menentukan argumen: Apabila mengimport skrip sebagai modul, skrip yang diimport mungkin mempunyai kod penghuraian argumen baris arahannya sendiri. Pengawal if __name__ == "__main__": menghalang skrip yang diimport daripada berjalan secara tidak dijangka dengan argumen baris perintah skrip pengimportan.
Atas ialah kandungan terperinci Apa yang `if __name__ == '__main__':` Lakukan dalam Python?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!
Kenyataan: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