Python Ana Fonksiyon ve Metot: def Main() fonksiyonunu anlayın.
⚡ Akıllı Özet
Python `main` fonksiyonu, yorumlayıcının bir programı çalıştırmaya başladığı başlangıç noktasını işaretler. `def main()` ile tanımlanır ve `if __name__ == “__main__”` koşuluyla eşleştirilir; bu sayede yeniden kullanılabilir modül kodu, bağımsız betik yürütmesinden ayrılır.

Nedir? Python Ana İşlev?
MKS Python ana işlev Herhangi bir programın başlangıç noktasıdır. Program çalıştırıldığında, Python Yorumlayıcı kodu sırayla çalıştırır. Ana fonksiyon yalnızca yorumlayıcı olarak çalıştırıldığında yürütülür. Python Program, modül olarak içe aktarılırsa ana fonksiyonu çalıştırmayacaktır.
def main() işlevi nedir? PythonBunu anlamak için, çekirdeğin bir parçası olan aşağıdaki örnek koda göz atın. Python programlama temel bilgiler:
def main() Örnek 1
def main():
print ("Hello World!")
print ("Guru99")
Burada iki adet çıktı aldık; biri ana fonksiyon içinde tanımlanmış olan "Merhaba Dünya!", diğeri ise bağımsız olan "Guru99”. def main() fonksiyonunu çalıştırdığınızda:
- Bir tek "Guru99” baskı çıktısı
- 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")
GuruBu kutuda 99 rakamı basılıdı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.
Bir kodda main() fonksiyonunu neden kullanırız? Python?
Python Ana fonksiyon yazmanızı zorunlu kılmaz, ancak deneyimli geliştiriciler neredeyse her karmaşık kodda bir tane kullanır. `def main()` kalıbı dosyaya düzen getirir ve kodun yeniden kullanımını güvenli hale getirir. İşte onu kullanmanın başlıca nedenleri:
- Net giriş noktası: main() fonksiyonu, programın tam olarak nereden başladığını okuyucuya açıkça belirtir, bu nedenle mantığı takip etmek kolaydır.
- Tekrar kullanılabilir modüller: Code `__name__ == “__main__”` koşuluyla çalışır ve yalnızca doğrudan çalıştırmada kullanılır, böylece diğer dosyalar fonksiyonlarınızı yan etkiler olmadan içe aktarabilir.
- Yerel kapsam: main() fonksiyonu içinde oluşturulan değişkenler yerel kalır; bu da modülün başka yerlerindeki global adlarla olası çakışmaları önler.
- Daha kolay test etme: Mantığı main() fonksiyonunda izole etmek, test paketinin onu doğrudan çağırmasına ve sonucu kontrol etmesine olanak tanır.
- Ortak sözleşme: main() fonksiyonu, programın giriş noktasını belirten ve ekipler arası bakım kolaylığını artıran, yaygın olarak kabul görmüş bir fonksiyondur.
Özetle, main() fonksiyonu isteğe bağlıdır. PythonAncak bu, daha büyük programların okunabilir, test edilebilir ve güvenli bir şekilde içe aktarılmasını sağlar.
__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.
Komut satırı argümanlarını nasıl iletebilirsiniz? Python ana işlev
main() fonksiyonu, kullanıcının komut satırından ilettiği girdiyi işlemek için en uygun yerdir. Python Bu değerler, standart sys modülünün sağladığı sys.argv listesinde saklanır. İlk öğe, sys.argv[0], komut dosyasının adıdır ve ondan sonraki her değer, kullanıcı tarafından sağlanan bir argümandır.
Aşağıdaki örnek, main() fonksiyonunun içinden komut satırı argümanlarını okur ve yazdırır:
import sys def main(): print("Script name:", sys.argv[0]) print("Arguments passed:", sys.argv[1:]) if __name__ == "__main__": main()
Dosyayı script.py olarak kaydedip çalıştırırsanız python script.py alpha betaProgram, komut dosyasının adını ve ['alpha', 'beta'] listesini yazdırır. Değerler main() fonksiyonunun içinde geldiği için mantık düzenli kalır ve test edilmesi kolaylaşır.
Komut satırı girdisiyle çalışırken işinize yarayacak birkaç pratik ipucu şunlardır:
- Komut dosyasının adını kesin: Yalnızca kullanıcının yazdığı argümanları okumak için sys.argv[1:] kullanın.
- argparse'ı gerçek araçlar için kullanın: Dahili argparse modülü, bayrakları, seçenekleri ve yardım metinlerini sys.argv dosyasını elle okumaya kıyasla çok daha güvenli bir şekilde ayrıştırır.
- Çıkış kodu döndürün: Çağrıyı sys.exit(main()) şeklinde sarmalayın, böylece main() fonksiyonunun dönüş değeri işlem çıkış durumu olur.
- Erken doğrulayın: Programın geri kalanını çalıştırmadan önce main() fonksiyonunun en üstündeki argümanların sayısını ve türünü kontrol edin.
Bu yöntem, basit bir betiği güvenilir bir komut satırı aracına dönüştürürken, aynı zamanda işlevselliği de korur.ping Tek bir, test edilebilir main() fonksiyonunun içindeki her adım.
Python main() Fonksiyonu ve Diğer Programlama Dilleri Arasındaki Farklar
C dilinden gelen geliştiriciler, C++ya da Java Genellikle zorunlu bir main() fonksiyonu beklenir. Python Bu, yorumlanan bir dil olduğu için farklı çalışır; bu nedenle yorumlayıcı, dosyayı en üst satırdan en alt satıra doğru çalıştırır. main() fonksiyonu ise... Python Bu nedenle bir kuraldan ziyade bir uzlaşmadır.
- C, C++, C# ve Java: main() fonksiyonu zorunlu bir giriş noktasıdır. Çalışma zamanı bunu otomatik olarak çağırır ve program başına yalnızca bir tane olabilir.
- Python: main() fonksiyonuna gerek yoktur. Çalıştırma dosyanın ilk satırından başlar ve def main() fonksiyonu yalnızca kodunuz onu çağırdığında çalışır.
- Muhafız: `if __name__ == “__main__”` bloğu şu sonucu verir: Python Dosya ana program olduğunda çalıştırılması gereken kodu işaretleyerek, derlenmiş bir main() fonksiyonuna benzer bir amaca hizmet eder.
Dolayısıyla diğer diller main() giriş noktasını zorunlu kılarken, Python Seçimi size bırakıyor ve derleyici kuralı yerine gelenek yoluyla aynı netliği sunuyor.




