Bu Neden Kullanılır? __Name__ == "__Main__"
-
Merhaba arkadaşlar, programcılığa yeni başlamış birisiyim ve bu sorunun cevabının pek çok kişi için bariz olduğunu biliyorum ama merak ediyorum.
if True:
Demek varken neden bu tipini sevdiğim kodu kullanılıyor? Ek bir özelliği mi var?
if __name__ == "__main__":
SENAR1ST tarafından 31/Eki/19 10:30 tarihinde düzenlenmiştir -
Merhaba. Dosyayi baska bir python dosyasina import etmeye çalış. Sonuçları da burda paylaşırsan güzel olur.
-
https://dbader.org/blog/meaning-of-underscores-in-python
Burda uzun uzun anlatmış adam.
-
x ZoRKaYa bunu yazdı
Merhaba. Dosyayi baska bir python dosyasina import etmeye çalış. Sonuçları da burda paylaşırsan güzel olur.
Denedim hocam, dediğin gibi True yazdığımda kod hata veriyorken __name__ = "__main__" çalışıyor. Bunun mantığı nedir? Böyle başka özel kullanımları var mı, yoksa sadece burada mı işe yarıyor?
# modul1.py
def topla (x, y):
sonuc = x + y
print (sonuc)
if __name__ == "__main__":
topla (x, y)# deneme1.py
import modul1
modul1.topla (1, 2) -
Hocam pythoncu degilim fakat sunu soyleyeyim. Diger dillerde main entry noktasidir yani kodun calsimaya basladigi noktadir.
Soruna gelecek olursak
if __name__ == "__main__" :
Kullandigin zaman yazdigin modul
eger direkt calistiriliyorsa true
eger import diliyorsa false dondurur.
Bu asagidakinde hem main.py hemde modul.py calistir ayri ayri..
modul.py
def nameYazdir() : print('__name__ = '+__name__) if __name__ == "__main__" : print('direkt calistirildi') nameYazdir() else : print('modul import edildi') nameYazdir()
main.py
import modul
-
https://lmgtfy.com/?q=python+main+ne+i%C5%9Fe+yarar&s=g
-
yazdığın kod direk çalıştırılıyorsa
if __name__ kısmı çalışır
yazdığın kodu import edersen, __name__ altındakiler çalışmaz