if __name__ == "__main__" Nedir?

Üyelerin kodlarında karşılaştıkları sorun hakkında yardım taleplerinin bulunduğu forum.
Cevapla
Kullanıcı avatarı
volkantasci
Site Admin
Mesajlar: 28
Kayıt: Cum May 10, 2019 7:26 pm
İletişim:

if __name__ == "__main__" Nedir?

Mesaj gönderen volkantasci » Cmt Ağu 03, 2019 11:33 am

Python programlarını tamamen fonksiyonlar ve sınıflar ile yazdıktan sonra geriye son bir fonksiyon kalır, main() fonksiyonu. Tüm işlemler burada yazılır ve öncesinde tanımladığımız fonksiyon ve sınıflar çağrılır. Tabi bu da son bulduğunda geriye bu main() fonksiyonu çağırmak kalır. Ancak bir şartla, eğer bu python dosyası doğrudan çalıştırılıyor ise main() fonksiyonu çağrılsın. Eğer bu python dosyası bir başka python dosyasına modül olarak import ediliyor ise main() fonksiyonu çağrılmasın istiyoruz.

Bu durumda her python dosyasının sahip olduğu bir değişkeni kontrol ediyoruz, __name__ değişkeni. Eğer python dosyası doğrudan çalıştırılmak istenmişse bu değişkenin değeri "__main__" oluyor. Eğer modül olarak import ediliyorsa "__main__" olmuyor. Dolayısı ile bunu kontrol ederek main() fonksiyonunu çağırıp çağırmayacağımıza karar verebiliriz.

Kod: Tümünü seç

if __name__ == "__main__":
	main()
Yukarıdaki örnekte olduğu gibi, bu dosya doğrudan çalıştırılıyor ise main() fonksiyonu çağrılır ve program işletilir.
"Gerçeği aramak onu elde etmekten daha değerlidir" Albert Einstein
Cevapla