функция должна быть определена до того, как она будет использована в python?

Должны ли функции быть определены перед использованием? но почему работает следующий код:

def main():
    dog()

def dog():
    print("This is a dog.")

if __name__ == '__main__':
    main()

Я имею в виду, что собака () определяется после того, как она называется, как это работает?

Ответы на вопрос(3)

Ваш ответ на вопрос