Python ana işlevi

Bu eğitimde, bir Python programının __name__ özniteliğini farklı bağlamlarda dinamik olarak çalıştırmak için nasıl kullanacağımızı öğreneceğiz.

Python'daki main () işlevi nedir?

Bazı programlama dillerinin, main()bir program dosyası için yürütme noktası olan özel bir işlevi vardır. Bununla birlikte, Python yorumlayıcı, her satırı dosyanın üstünden seri olarak çalıştırır ve açık bir main()işlevi yoktur .

Python, yürütme noktasını tanımlamak için başka kurallar sunar. Bunlardan biri, main()bir python dosyasının işlevini ve __name__ özelliğini kullanıyor .

Python'da __name__ nedir?

__Name__ değişkeni, geçerli modülün adını gösteren özel bir yerleşik Python değişkenidir.

Python dosyasını nerede çalıştırdığımıza bağlı olarak farklı değerlere sahiptir. Bir örneğe bakalım.

Python Dosyasını Komut Dosyası Olarak Çalıştırma

Aşağıdaki içeriğe sahip helloworld.py adında bir Python dosyamız olduğunu varsayalım :

 print(__name__) 

Biz çalıştırırsanız helloworld.py komut satırından, o zaman bir Python komut dosyası olarak çalışır. Python programını aşağıdaki komutu kullanarak çalıştırabiliriz:

$ python helloworld.py

Programı komut dosyası olarak çalıştırdığımızda, __name__ değişkeninin değeri __main__ olarak ayarlanır. Dolayısıyla aşağıdaki programın çıktısı şöyle olacaktır:

 __ana__ 

Python dosyasını modül olarak çalıştırma

Bir Python dosyasını bir modül olarak da çalıştırabiliriz. Bunun için bu dosyayı başka bir Python programına aktarmamız gerekiyor. Bir örneğe bakalım.

Adlandırdığımız bir Python dosyası olduğunu varsayalım main.py heloworld.py dosyasıyla aynı dizinde. Aşağıdaki içeriğe sahiptir:

 import helloworld 

Bu dosyayı çalıştırdığımızda aşağıdaki çıktıya sahip olacağız:

 Selam Dünya 

Burada, bir modülü içe aktarmanın modül dosyasındaki tüm kodu çalıştırdığını görebiliriz.

Ancak, __main__ yerine programın modülün adını yani helloworld'ü gösterdiğini görebiliriz.

Bunun nedeni, bir Python dosyasını modül olarak çalıştırma bağlamında, modülün adının __name__ değişkenine atanmasıdır.

__Name__ ile koşullu ise kullanma

Şimdi __name__ değişkenine nasıl değer atandığını anladığımıza göre if, aynı Python dosyasını farklı bağlamlarda farklı şekilde çalıştırmak için koşullu cümleyi kullanabiliriz .

Bir örneğe bakalım.

Helloworld.py dosyasının içeriğini şu şekilde değiştirdiğimizi varsayalım :

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

Şimdi, komut satırı aracılığıyla bir betik olarak çalıştırdığımızda çıktı şöyle olacaktır:

 Selam Dünya 

Ancak, onu main.py dosyasında içe aktararak bir modül olarak çalıştırdığımızda , main()fonksiyon çağrılmadığı için hiçbir çıktı görüntülenmez .

Burada helloworld.py dosyasında özel bir main()işlev oluşturduk . Yalnızca program içe aktarılmış bir modül olarak değil, bağımsız bir komut dosyası olarak çalıştırıldığında yürütülür.

Bu, main()işlevi Python'da açıkça tanımlamanın standart yoludur . Bir Python dosyasının __name__ değişkeninin en popüler kullanım durumlarından biridir.

Ilginç makaleler...