Tujuan if __name__ == '__main__':
Dalam skrip Python adalah untuk membolehkan skrip digunakan dalam dua cara yang berbeza: sebagai program mandiri dan sebagai modul yang boleh diimport. Apabila anda menjalankan skrip python secara langsung, pembolehubah khas __name__
ditetapkan ke rentetan '__main__'
. Walau bagaimanapun, jika skrip yang sama diimport sebagai modul ke dalam skrip lain, __name__
akan ditetapkan kepada nama modul. Dengan menggunakan syarat if __name__ == '__main__':
anda boleh menulis kod yang hanya akan dilaksanakan apabila skrip dijalankan secara langsung, bukan apabila ia diimport sebagai modul. Ini membolehkan pemisahan kod inisialisasi, kod ujian, dan kod lain yang dimaksudkan untuk dilaksanakan hanya dalam keadaan tertentu.
if __name__ == '__main__':
digunakan dalam skrip python kerana beberapa sebab:
if
tidak berjalan, membolehkan skrip lain menggunakan fungsi dan kelas yang ditakrifkan dalam modul tanpa kesan sampingan yang tidak diingini. Apabila skrip Python dilaksanakan, pembolehubah __name__
secara automatik ditetapkan oleh penterjemah Python. Jika skrip dijalankan sebagai program utama (iaitu, tidak diimport), __name__
ditetapkan kepada '__main__'
. if __name__ == '__main__':
Pernyataan memeriksa keadaan ini. Jika benar, kod dalam blok ini dilaksanakan. Jika palsu (bermakna skrip diimport), kod di dalam blok ini dilangkau.
Sebagai contoh, pertimbangkan example.py
skrip berikut.
<code class="python">def greet(name): print(f"Hello, {name}!") if __name__ == '__main__': greet("World")</code>
Apabila example.py
dijalankan secara langsung, ia akan mencetak "Hello, World!". if
greet
, jika skrip lain mengimport example.py
greet("World")
Penggunaan if __name__ == '__main__':
Dalam Python menawarkan beberapa faedah:
Dengan memahami dan menggunakan if __name__ == '__main__':
, pemaju python boleh membuat skrip yang lebih serba boleh dan dikekalkan.
Atas ialah kandungan terperinci Apakah tujuan __name__ == '__main__'?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!