dunes2k
@dunes2k

Логика работы Python?

Здравствуйте, не сочтите за идиота. Недавно начал осваивать питон и даже немного получается. Но не могу понять логику исполнения кода. Например у меня есть кнопка, но реализация функционала к ней, например открыть новое окно, код функционала стоит выше кода самой кнопки, ниже не работает. Так и должно быть, или что-то не так? По мере написания программы я постоянно смещаюсь вверх.
  • Вопрос задан
  • 2781 просмотр
Решения вопроса 1
NeiroNx
@NeiroNx
Программист
Вы должны знать что вы будете делать перед тем как скажите когда вы это будете делать.

Как вариант вы можете использовать класс приложения - в классе вначале определяется структура, а затем вызывается инициализатор. Таким образом когда инициализатор отрисовывает форму - все действия уже существуют. Но при этом функции класса могут в коде располагаться в произвольном порядке.
Ответ написан
Пригласить эксперта
Ответы на вопрос 2
Vindicar
@Vindicar
RTFM!
Логика предельно простая - на момент обращения к элементу он должен быть определён.
Простой пример:
def func_B(s):
    print('B says:')
    func_A(s)

def func_A(s):
    print('Hello from A to', s)

func_B('the world')


Данный код отработает. Почему, ведь func_A() описана после её вызова в func_B()?
Потому что поиск этой функции произойдёт в момент вызова func_B() - а тогда функция func_A() уже будет определена.

А вот тут поменять местами не получится:
DEFAULT = 'world'

def func_C(s = DEFAULT):
    print('Hello,', s)

Потому что обращение к DEFAULT происходит в момент определения func_C(), а не в момент её выполнения.
Ответ написан
saboteur_kiev
@saboteur_kiev Куратор тега Python
software engineer
Если там было объявление функции, то это просто объявление функции.
А потом идет ее вызов
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы