Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Menguasai __name__ dan __main__ Python: Memahami Pelaksanaan Skrip dan Import Modul

Menguasai __name__ dan __main__ Python: Memahami Pelaksanaan Skrip dan Import Modul

DDD
DDDasal
2024-11-02 22:57:02189semak imbas

Mastering Python’s __name__ and __main__: Understanding Script Execution and Module Imports

pengenalan

Nama Python dan utama ialah dua konsep yang sering disalahfahamkan yang memainkan peranan penting dalam cara skrip dilaksanakan dan cara modul diimport. Dalam siaran ini, kami akan memecahkan maksud nama dan utama, sebab ia penting dan cara memanfaatkannya untuk menulis kod yang lebih modular, boleh diuji dan boleh digunakan semula. Pada akhirnya, anda akan selesa dengan konsep asas ini dan bersedia untuk menggunakannya untuk menstruktur projek anda sendiri dengan berkesan.

Ujian Amalan Pengaturcara Python Terbaik

Apakah nama?

Dalam Python, setiap modul (fail Python) mempunyai atribut terbina dalam yang dipanggil nama. Atribut ini membantu Python menentukan cara fail digunakan: sama ada sebagai skrip kendiri atau sebagai modul yang diimport.

  • Apabila fail Python dijalankan secara langsung (seperti python my_script.py), pembolehubah nama ditetapkan secara automatik kepada utama.

  • Jika fail diimport sebagai modul dalam skrip lain, nama ditetapkan kepada nama modul (nama fail tanpa sambungan .py).
    Perbezaan ini amat berguna, kerana ia membolehkan anda mengawal bahagian fail yang harus dijalankan apabila fail diimport berbanding apabila ia dilaksanakan secara langsung.

Kuasa jika nama == "utama"

Untuk memanfaatkan ciri ini, pembangun Python biasanya menggunakan pernyataan if untuk menyemak nilai nama. Ini membolehkan anda mengawal bahagian kod anda yang hanya patut dilaksanakan apabila fail dijalankan sebagai skrip kendiri.

Berikut ialah struktur asas:

def main():
    print("Running as a standalone script")

if __name__ == "__main__":
    main()

Dalam contoh ini, jika anda menjalankan python my_script.py, ia akan mencetak "Berjalan sebagai skrip kendiri" kerana nama ditetapkan kepada utama. Tetapi jika anda mengimport fail ini sebagai modul (cth., import my_script), tiada apa yang akan dicetak kerana syarat if tidak dipenuhi.

Mengapa Menggunakan Corak Ini?

Corak jika nama == "utama" mempunyai beberapa faedah utama:

  1. Atur Kod untuk Kebolehgunaan Semula: Anda boleh meletakkan fungsi, kelas atau pemalar dalam modul dan menggunakannya dalam skrip lain tanpa menjalankan kod yang tidak diperlukan.
  2. Ujian Unit Sokongan: Lebih mudah untuk menguji modul tanpa melaksanakan kod yang tidak berkaitan.
  3. Struktur Kod Lebih Baik: Mengasingkan kod pelaksanaan daripada definisi (fungsi, kelas) meningkatkan kebolehbacaan dan modulariti.

Kes Penggunaan Praktikal

  1. Menulis Skrip Kendiri dengan Kod Boleh Digunakan Semula
    Jika anda sedang membangunkan alat yang mempunyai fungsi kendiri dan bahagian yang boleh berguna kepada skrip lain, corak ini adalah penting. Contohnya, skrip pemprosesan data boleh mengandungi fungsi boleh guna semula untuk pembersihan data yang anda juga mahu import ke dalam skrip analisis data yang lain.

  2. Membina Alat CLI (Antara Muka Baris Perintah)
    Corak ini amat berguna apabila membina alatan CLI. Dengan mentakrifkan fungsi main() yang bertindak sebagai titik masuk, anda boleh menjadikan kod anda lebih bersih dan lebih berstruktur.

def main():
    print("Running as a standalone script")

if __name__ == "__main__":
    main()

Kini anda boleh menjalankan alat ini dari baris arahan menggunakan python cli_tool.py John, dan ia akan menyambut pengguna dengan "Hello, John!". Skrip ini juga boleh diimport sebagai modul dalam program Python lain jika diperlukan.

Pemahaman nama dan utama membolehkan anda mencipta kod Python modular yang boleh digunakan semula. Dengan menggunakan if name == "main" dalam skrip anda, anda boleh mengawal bahagian kod anda yang harus dilaksanakan berdasarkan cara skrip dijalankan. Corak ini penting untuk menulis kod yang boleh diuji, tersusun dan serba boleh, sama ada untuk skrip sekali guna atau modul yang anda rancang untuk digunakan semula merentas projek.

Ujian Amalan Pengaturcara Python Terbaik

Atas ialah kandungan terperinci Menguasai __name__ dan __main__ Python: Memahami Pelaksanaan Skrip dan Import Modul. 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