Tags: Python

Python: co if __name__ == "__main__": robi?

W języku Python, konstrukcja `if __name__ == "__main__":` jest często używana do określenia, czy kod znajduje się w module, który jest uruchamiany jako program, czy jest importowany jako moduł do innego programu. Jest to często używane, aby zapewnić, że pewny kod (na przykład funkcje, zmienne itp.) jest wykonywany tylko wtedy, gdy plik jest uruchamiany jako program, a nie gdy jest importowany jako moduł do innego kodu.

Oto, jak działa konstrukcja `if __name__ == "__main__":`:

1. Gdy plik Pythona jest uruchamiany jako program (tzn. jest to główny plik, który jest uruchamiany bezpośrednio przez interpreter Pythona), interpreter Pythona ustawia zmienną specjalną `__name__` na wartość `"__main__"`.

2. Gdy plik Pythona jest importowany jako moduł do innego programu, zmienna `__name__` jest ustawiana na nazwę modułu (nazwę pliku bez rozszerzenia `.py`).

Kiedy umieszczamy kod w bloku `if __name__ == "__main__":`, oznacza to, że ten kod będzie wykonywany tylko wtedy, gdy plik jest uruchamiany jako program, a nie gdy jest importowany jako moduł. Jest to przydatne, ponieważ pozwala nam oddzielić kod, który jest przeznaczony do bezpośredniego uruchomienia, od kodu, który jest przeznaczony do używania jako biblioteka lub moduł w innych programach.

Oto przykład:

def hello():
    print("Hello, world!")

if __name__ == "__main__":
    hello()

W powyższym przykładzie funkcja `hello()` zostanie wywołana tylko wtedy, gdy plik zostanie uruchomiony jako program. Jeśli ten plik zostanie zaimportowany do innego modułu, funkcja `hello()` nie zostanie automatycznie wywołana. Dzięki temu można używać funkcji `hello()` jako części innego programu, jeśli zachodzi taka potrzeba.

Komentarz

Tekst komentarza

Wszystkie pola są obowiązkowe