Fungsi Utama Python & Contoh Kaedah: Fahami __main

Isi kandungan:

Anonim

Apakah Fungsi Utama Python?

Fungsi utama Python adalah titik permulaan bagi sebarang program. Semasa program dijalankan, jurubahasa python menjalankan kod secara berurutan. Fungsi utama dijalankan hanya ketika dijalankan sebagai program Python. Ia tidak akan menjalankan fungsi utama jika diimport sebagai modul.

Apakah fungsi def utama () di Python? Untuk memahami perkara ini, pertimbangkan kod contoh berikut

def main():print ("hello world!")print ("Guru99")

Di sini, kami mendapat dua kepingan cetakan - satu ditakrifkan dalam fungsi utama iaitu "Hello World" dan yang lain adalah bebas, iaitu "Guru99". Semasa anda menjalankan fungsi def main ():

  • Hanya "Guru99" yang dicetak
  • dan bukan kod "Hello World."

Ini kerana kami tidak menyatakan fungsi panggilan "if__name __ ==" __main__ ".

Penting bahawa setelah menentukan fungsi utama, anda memanggil kod dengan if__name __ == "__main__" dan kemudian jalankan kodnya, hanya dengan itu anda akan mendapat output "hello world!" di konsol pengaturcaraan. Pertimbangkan kod berikut

def main():print("hello world!")if __name__ == "__main__":main()print("Guru99")

Guru99 dicetak dalam kes ini.

Inilah penjelasannya,

  • Apabila jurubahasa Python membaca fail sumber, ia akan melaksanakan semua kod yang terdapat di dalamnya.
  • Apabila Python menjalankan "sumber fail" sebagai program utama, ia menetapkan pemboleh ubah khas (__name__) untuk mempunyai nilai ("__main__").
  • Apabila anda menjalankan fungsi utama di python, ia kemudian akan membaca pernyataan "if" dan memeriksa sama ada __nama__ sama dengan __main__.
  • Dalam Python "if__name __ ==" __main__ " membolehkan anda menjalankan fail Python sama ada sebagai modul yang boleh digunakan semula atau program yang berdiri sendiri.

Pemboleh ubah __name__ dan Python Module

Untuk memahami kepentingan pemboleh ubah __name__ dalam kaedah fungsi utama Python, pertimbangkan kod berikut:

def main():print("hello world!")if __name__ == "__main__":main()print("Guru99")print("Value in built variable name is: ",__name__)

Sekarang pertimbangkan, kod diimport sebagai modul

import MainFunctionprint("done")

Berikut adalah penjelasan kod:

Seperti C, Python menggunakan == untuk perbandingan manakala = untuk tugasan. Jurubahasa Python menggunakan fungsi utama dalam dua cara

larian langsung:

  • __nama __ = __ utama__
  • jika pernyataan == Benar, dan skrip dalam _main_will akan dilaksanakan

import sebagai modul

  • __nama __ = nama fail modul
  • jika pernyataan == salah, dan skrip dalam __main__ tidak akan dilaksanakan

Apabila kod dijalankan, ia akan memeriksa nama modul dengan "if." Mekanisme ini memastikan, fungsi utama hanya dijalankan secara langsung dan tidak ketika diimport sebagai modul.

Contoh di atas adalah kod Python 3, jika anda ingin menggunakan Python 2, sila pertimbangkan untuk mengikuti kod ini

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

Dalam Python 3, anda tidak perlu menggunakan nama if__. Kod berikut juga berfungsi

def main():print("Hello World!")main()print("Guru99")

Catatan: Pastikan bahawa setelah menentukan fungsi utama, anda meninggalkan sebilangan inden dan tidak menyatakan kodnya tepat di bawah fungsi utama (): sebaliknya, ia akan memberikan kesalahan inden.