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")
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.
İş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__)
Şimdi düşünün, kod modül olarak içe aktarılıyor
import MainFunction print("done")
İş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.