Apa itu Fungsi Utama Python?
Fungsi utama Python adalah titik awal dari program apa pun. Saat program dijalankan, interpreter python menjalankan kode secara berurutan. Fungsi utama dijalankan hanya jika dijalankan sebagai program Python. Ini tidak akan menjalankan fungsi utama jika diimpor sebagai modul.
Apa fungsi def main () di Python? Untuk memahami ini, perhatikan kode contoh berikut
def main():print ("hello world!")print ("Guru99")
Di sini, kami mendapat dua lembar cetakan- satu didefinisikan dalam fungsi utama yaitu "Hello World" dan yang lainnya adalah independen, yaitu "Guru99". Saat Anda menjalankan fungsi def main ():
- Hanya cetakan "Guru99"
- dan bukan kode "Hello World".
Itu karena kami tidak mendeklarasikan fungsi panggilan "if__name __ ==" __main__ ".
Penting bahwa setelah mendefinisikan fungsi utama, Anda memanggil kode dengan if__name __ == "__main__" dan kemudian menjalankan kode, baru kemudian Anda akan mendapatkan keluaran "hello world!" di konsol pemrograman. Perhatikan kode berikut
def main():print("hello world!")if __name__ == "__main__":main()print("Guru99")
Guru99 dicetak dalam kasus ini.
Berikut penjelasannya,
- Ketika interpreter Python membaca file sumber, itu akan mengeksekusi semua kode yang ditemukan di dalamnya.
- Ketika Python menjalankan "file sumber" sebagai program utama, itu menetapkan variabel khusus (__name__) untuk memiliki nilai ("__main__").
- Ketika Anda menjalankan fungsi utama dengan python, itu kemudian akan membaca pernyataan "jika" dan memeriksa apakah __name__ sama dengan __main__.
- Dengan Python "if__name __ ==" __main__ " memungkinkan Anda menjalankan file Python baik sebagai modul yang dapat digunakan kembali atau program yang berdiri sendiri.
Variabel __name__ dan Modul Python
Untuk memahami pentingnya variabel __name__ dalam metode fungsi utama Python, pertimbangkan kode berikut:
def main():print("hello world!")if __name__ == "__main__":main()print("Guru99")print("Value in built variable name is: ",__name__)
Sekarang pertimbangkan, kode diimpor sebagai modul
import MainFunctionprint("done")
Berikut penjelasan kodenya:
Seperti C, Python menggunakan == untuk perbandingan sedangkan = untuk tugas. Penerjemah Python menggunakan fungsi utama dalam dua cara
lari langsung:
- __name __ = __ main__
- if pernyataan == Benar, dan skrip di _main_akan dieksekusi
impor sebagai modul
- __name __ = nama file modul
- if pernyataan == false, dan script di __main__ tidak akan dijalankan
Ketika kode dijalankan, itu akan memeriksa nama modul dengan "jika." Mekanisme ini memastikan, fungsi utama dijalankan hanya sebagai proses langsung bukan saat diimpor sebagai modul.
Contoh di atas adalah kode Python 3, jika Anda ingin menggunakan Python 2, harap pertimbangkan kode berikut
def main():print "Hello World!"if __name__== "__main__":main()print "Guru99"
Di Python 3, Anda tidak perlu menggunakan if__name. Kode berikut juga berfungsi
def main():print("Hello World!")main()print("Guru99")
Catatan: Pastikan bahwa setelah mendefinisikan fungsi utama, Anda meninggalkan beberapa indentasi dan tidak mendeklarasikan kode tepat di bawah fungsi def main (): jika tidak, itu akan memberikan kesalahan indentasi.