MC, 15:03 sobota, 16.03.2013 r.
Ilustracja do artykułu: Python - Jak stworzyć i wywołać funkcję main() (funkcję startową)

Python - Jak stworzyć i wywołać funkcję main() (funkcję startową)

Zwięźle o pewnym aspekcie funkcjonalnego podejścia do programowania w Python-ie, a konkretniej o funkcji main() znanej z grupy języków C.

Te pierwsze kroki...

Pythonem planowałem zainteresować się już spory czas temu, ale jakoś nigdy nie było okazji. Teraz za to jest uczelniany przymus, i dobrze :) Język skryptowy, wszystko cacy, można realizować różne podejścia do programowania, w ogóle wszystko super. Na moje potrzeby obecnych zastosowań tego języka, idealne wydaje się być rozwiązanie funkcjonalne, a będąc obciążony naleciałościami z języków typu C/C++, w naturalny sposób powstało pytanie - jak tu zrobić main-a? Jak patrzą na to z perspektywy, krótkiego bo krótkiego, ale jednak czasu, to może nie do końca słuszne jest to pytanie, mimo to, z łatwością można odnaleźć na nie odpowiedź.

Jak stworzyć funkcję main()?

Jak wiadomo, przez funkcję main() rozumiemy funkcję startową programu. Dla Pythona polecane jest podejście, zobrazowane poniżej:
def main():
# kod funkcji

if __name__=="__main__":
main()
Zasadniczo wszystko jest jasne, jeśli by się nie zadawać pytań o sens instrukcji warunkowej.

Jaki sens ma zapis __name__=="__main__"?

Właściwie sprawa jest prosta. Interpreter Pythona przetwarzając pliki źródłowe stwarza kilka zmiennych, w tym zmienną o nazwie __name__, z której korzystamy w powyższym fragmencie kodu. Jeśli plik źródłowy jest plikiem głównym (nie jest wczytywany przez inny skrypt), to zmienna ta przyjmuje właśnie wartość "__main__". Zastosowanie więc tak zbudowanej instrukcji warunkowej, zapewnia nam wykonanie funkcji main() jedynie w przypadku, gdy skrypt jest właściwym skryptem głównym, dzięki czemu możemy korzystać z niego również w niezmienionej formie w innych skryptach, bez obaw, że funkcja main() popsuje szyki. Nie, nie popsuje, ona po prostu się nie wykona. I dlatego właśnie warto stosować takie podejście do wywoływania funkcji głównej skryptu.

Komentarze (2)

Imię:
Treść:
jestem_robotem 2022-11-06 22:36:08
zbyt mala czcionka jak dla mnie
aaaa 2017-12-07 11:38:16
Ciezko sie czyta, nic nie widac