Sobes.tech
Junior

Létezik-e a Pythonban main() függvény?

sobes.tech MI

Válasz az MI-től

Pythonban nincs beépített main() függvény, mint például C++ vagy Java esetén. Azonban általánosan gyakorolt módszer az if __name__ == "__main__": szerkezet használata a program belépési pontjának meghatározására.

Amikor a szkriptet közvetlenül futtatják, a __name__ különleges változó értéke "__main__" lesz. Ha a szkriptet másik szkriptbe modulként importálják, akkor a __name__ a modul neve lesz.

Ez lehetővé teszi, hogy bizonyos kódokat csak akkor futtassunk, amikor a szkriptet közvetlenül indítjuk, például a fő funkciók elindítását, parancssori argumentumok elemzését stb.

# my_module.py

def some_function():
    print("some_function végrehajtva")

if __name__ == "__main__":
    # Ez a kód csak akkor fut le, ha a my_module.py-t közvetlenül indítják
    print("Közvetlen szkript indítása")
    some_function()

# script.py

import my_module

print("my_module importálva")
# Ez a kód a script.py indításakor fut le
# Importáláskor a my_module.py-ben lévő if __name__ == "__main__": blokk nem fut le
my_module.some_function()

A my_module.py futtatásakor a következő lesz a kimenet:

Közvetlen szkript indítása
some_function végrehajtva

A script.py futtatásakor pedig:

my_module importálva
some_function végrehajtva