Python Ana İşlev ve Yöntem Örneği: def Main()'ı anlayın

Nedir? Python Ana İşlev?

Python ana işlev herhangi bir programın başlangıç ​​noktasıdır. Program çalıştırıldığında, python yorumlayıcısı kodu sırayla çalıştırır. Main fonksiyonu yalnızca bir Python programı. Modül olarak içe aktarılırsa ana işlevi çalıştırmaz.

def main() işlevi nedir? Python? Bunu anlamak için aşağıdaki örnek kodu inceleyin

def main() Örnek 1

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

Python Ana Fonksiyon

Burada iki parça baskımız var; biri ana fonksiyon olan “Merhaba Dünya!” içinde tanımlanmış. diğeri ise bağımsız olan “Guru99”dur. def main () işlevini çalıştırdığınızda:

  • Yalnızca “Guru99” yazdırılıyor
  • ve “Merhaba Dünya!” kodu değil

Çünkü çağrıyı duyurmadık işlev “if__name__== “__main__”.

Ana fonksiyonu tanımladıktan sonra, if__name__== “__main__” ile kodu çağırmanız ve ardından kodu çalıştırmanız önemlidir, ancak o zaman programlama konsolunda “hello world!” çıktısını alırsınız. Aşağıdaki kodu göz önünde bulundurun

def main() Örnek 2

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

if __name__ == "__main__":
    main()

print("Guru99")


Bu durumda Guru99 yazdırılır.

Python Ana Fonksiyon

İşte açıklama,

  • Ne zaman Python yorumlayıcı bir kaynak dosyayı okursa, içinde bulunan tüm kodu çalıştırır.
  • Ne zaman Python “kaynak dosyayı” ana program olarak çalıştırır, özel değişkeni (__name__) bir değere (“__main__”) sahip olacak şekilde ayarlar.
  • Python'da ana işlevi çalıştırdığınızda, Python "if" ifadesini okuyacak ve __name__'nin __main__'ye eşit olup olmadığını kontrol edecektir.
  • In Python “if__name__== “__ana__” çalıştırmanıza izin verir Python dosyalar şu şekilde yeniden kullanılabilir modüller veya bağımsız programlar.

__name__ değişkeni ve Python modül

__name__ değişkeninin önemini anlamak Python ana fonksiyon metodu için aşağıdaki kodu göz önünde bulundurun:

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

if __name__ == "__main__":
    main()

print("Guru99")

print("Value in built variable name is:  ",__name__)

__name__ değişkeni ve Python modül

Şimdi düşünün, kod modül olarak içe aktarılıyor

import MainFunction

print("done")

__name__ değişkeni ve Python modül

İşte kodun açıklaması:


C gibi, Python Karşılaştırma için == kullanırken atama için = kullanılır. Python tercüman ana işlevi iki şekilde kullanır

doğrudan çalıştırma:

  • __isim__=__ana__
  • if ifadesi == Doğru ve _main_'deki komut dosyası yürütülecek

modül olarak içe aktar

  • __name__= modülün dosya adı
  • if ifadesi == false ve __main__ içindeki komut dosyası çalıştırılmayacak

Kod çalıştırıldığında “if” ile modül adını kontrol edecektir. Bu mekanizma, ana işlevin bir modül olarak içe aktarıldığında değil, yalnızca doğrudan çalıştırma olarak yürütülmesini sağlar.

Yukarıdaki örnekler Python Kullanmak istiyorsanız 3 kod Python 2, lütfen aşağıdaki kodu göz önünde bulundurun

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

print "Guru99"

In Python 3, if__name kullanmanıza gerek yok. Aşağıdaki kod da işe yarar

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

Not: Ana fonksiyonu tanımladıktan sonra biraz girinti bıraktığınızdan ve def main(): fonksiyonunun hemen altındaki kodu tanımlamadığınızdan emin olun, aksi takdirde girinti hatası alırsınız.