Rumah >pembangunan bahagian belakang >Tutorial Python >Apa yang `if __name__ == '__main__':` Lakukan dalam Python, dan Mengapa Ia Penting?

Apa yang `if __name__ == '__main__':` Lakukan dalam Python, dan Mengapa Ia Penting?

Mary-Kate Olsen
Mary-Kate Olsenasal
2024-12-24 19:30:18974semak imbas

What Does `if __name__ ==

Bagaimana jika __name__ == "__main__": lakukan? Mengapa memasukkan pernyataan if?

Kod ini menyemak sama ada modul sedang dijalankan sebagai program utama (berbanding diimport sebagai modul). Jika ia dijalankan sebagai atur cara utama, ia melaksanakan kod dalam penyata if.

Mengapa memasukkan pernyataan ini?

  1. Melindungi daripada pelaksanaan skrip yang tidak diingini:

    • Tanpa semakan ini, mengimport skrip (cth., import my_script) secara tidak sengaja akan menjalankan kod skrip walaupun anda hanya mahu mengimport fungsi/kelasnya. Ini boleh membawa kepada konflik atau tingkah laku yang tidak dijangka.
  2. Menghalang isu penjerukan:

    • Memilih kelas yang ditakrifkan dalam skrip akan mencetuskan perlaksanaan skrip dan mengimport skrip ke dalam persekitaran unpickling. Ini boleh membawa kepada masalah dengan hujah baris perintah dan kebergantungan khusus skrip lain.

Bagaimanakah ia berfungsi?

  • __name__: Apabila Python melaksanakan skrip, ia menetapkan nama pembolehubah kepada "__main__."
  • Mengimport modul: Apabila anda mengimport modul bukan utama, Python akan memberikan nama modul kepada modulnya __name__.

Contoh:

if __name__ == "__main__":
    print("This code will run when the script is executed.")

# This code will not run when the script is imported.
print("This code will only run when the script is imported.")

Ini memastikan bahawa blok pertama kod hanya berjalan apabila skrip dilaksanakan secara langsung (mis., python my_script. py), manakala blok kod kedua hanya berjalan apabila skrip diimport ke dalam skrip lain (mis., import my_script).

Pertimbangan lanjutan:

  • Berbilang nama pengawal: Biasanya tidak disyorkan untuk mempunyai berbilang nama menyemak dalam satu fail, kerana ini boleh membawa kepada yang tidak dijangka tingkah laku.
  • Nilai nama tersuai: Anda boleh menetapkan nama secara manual di luar pernyataan if untuk menguji senario pelaksanaan yang berbeza atau memberikan lebih kawalan ke atas pelaksanaan skrip.

Atas ialah kandungan terperinci Apa yang `if __name__ == '__main__':` Lakukan dalam Python, dan Mengapa Ia Penting?. 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
Artikel sebelumnya:Corak Concurrency: Objek AktifArtikel seterusnya:Corak Concurrency: Objek Aktif