Kiedy uruchamiany jest moduł Pythona (plik .py), zawarte w nim instrukcje najwyższego poziomu są wykonywane w kolejności, w jakiej się pojawiają, od góry do dołu (od początku do końca). Oznacza to, że nie możesz się do czegoś odwołać, dopóki tego nie zdefiniujesz. Na przykład poniższe wygeneruje pokazany błąd:
c = a + b
a = 13
b = 17
W przeciwieństwie do wielu innych językach, defa classsprawozdania są wykonywalne w Pythonie nie tylko deklaratywne, więc nie można odwołać albo aczy baż tak się dzieje i są one zdefiniowane. Z tego powodu pierwszy przykład ma problem - odwołujesz się do Kerma()funkcji przed wykonaniem jej definstrukcji i przetworzeniem treści, a wynikowy obiekt funkcji jest powiązany z nazwą funkcji, więc nie jest zdefiniowany w tym momencie w skrypcie.
Programy w językach takich jak C ++ są zwykle wstępnie przetwarzane przed uruchomieniem, a na tym etapie kompilacji cały program i wszystkie #includepliki, do których się odnosi, są odczytywane i przetwarzane jednocześnie. W przeciwieństwie do Pythona, język ten zawiera deklaratywne instrukcje, które pozwalają na zadeklarowanie (ale niezdefiniowanie) nazwy i sekwencji wywoływania funkcji (lub statycznego typu zmiennych) przed użyciem, aby kompilator napotkał ich nazwę miał wystarczająco dużo informacji, aby sprawdzić ich użycie, które obejmuje przede wszystkim sprawdzanie typów i konwersje typów, z których żadna nie wymaga jeszcze zdefiniowania ich rzeczywistej zawartości ani treści kodu.