Fungsi utama Python

Dalam tutorial ini, kita akan belajar bagaimana menggunakan atribut __name__ program Python untuk menjalankannya secara dinamis dalam konteks yang berbeda.

Apa fungsi main () dengan Python?

Beberapa bahasa pemrograman memiliki fungsi khusus yang disebut main()sebagai titik eksekusi untuk file program. Penerjemah Python, bagaimanapun, menjalankan setiap baris secara serial dari atas file dan tidak memiliki main()fungsi eksplisit .

Python menawarkan konvensi lain untuk menentukan titik eksekusi. Salah satunya adalah menggunakan main()fungsi dan properti __name__ dari file python.

Apa itu __name__ dengan Python?

Variabel __name__ adalah variabel Python bawaan khusus yang menunjukkan nama modul saat ini.

Ini memiliki nilai yang berbeda tergantung di mana kita menjalankan file Python. Mari kita lihat contohnya.

Menjalankan File Python sebagai Script

Misalkan kita memiliki file Python bernama helloworld.py dengan konten berikut:

 print(__name__) 

Jika kita menjalankan helloworld.py dari baris perintah, maka itu berjalan sebagai skrip Python. Kita bisa menjalankan program Python menggunakan perintah berikut:

$ python helloworld.py

Saat kami menjalankan program sebagai skrip, nilai variabel __name__ disetel ke __main__. Jadi output dari program berikut ini adalah:

 __utama__ 

Menjalankan file Python sebagai Modul

Kami juga dapat menjalankan file Python sebagai modul. Untuk ini, kita harus mengimpor file ini ke program Python lain. Mari kita lihat contohnya.

Misalkan kita memiliki file Python bernama main.py di direktori yang sama dengan file heloworld.py. Ini memiliki konten berikut:

 import helloworld 

Saat kami menjalankan file ini, kami akan memiliki output berikut:

 Halo Dunia 

Di sini, kita dapat melihat bahwa mengimpor modul juga menjalankan semua kode di file modul.

Namun, kita dapat melihat bahwa selain menampilkan __main__, program tersebut menampilkan nama modulnya yaitu helloworld.

Itu karena, dalam konteks menjalankan file Python sebagai modul, nama modul itu sendiri ditetapkan ke variabel __name__.

Menggunakan if conditional dengan __name__

Sekarang kita telah memahami bagaimana variabel __name__ diberikan nilai, kita dapat menggunakan ifklausa bersyarat untuk menjalankan file Python yang sama secara berbeda dalam konteks yang berbeda.

Mari kita lihat contohnya.

Misalkan kita mengubah konten file helloworld.py menjadi berikut:

 def main(): print("Hello World") if __name__=="__main__": main() 

Sekarang, ketika kita menjalankannya sebagai skrip melalui baris perintah, hasilnya adalah:

 Halo Dunia 

Namun, ketika kita menjalankannya sebagai modul dengan mengimpornya di file main.py , tidak ada keluaran yang ditampilkan karena main()fungsinya tidak dipanggil.

Di sini, kami telah membuat main()fungsi khusus di file helloworld.py . Ini dijalankan hanya ketika program dijalankan sebagai skrip mandiri dan bukan sebagai modul yang diimpor.

Ini adalah cara standar untuk mendefinisikan main()fungsi secara eksplisit dengan Python. Ini adalah salah satu kasus penggunaan paling populer dari variabel __name__ dari file Python.

Artikel yang menarik...