Объясните, как работает этот код (Python)?
class GameState(Enum):
QUIT = -1
TITLE = 0
NEWGAME = 1
def main():
pygame.init()
screen = pygame.display.set_mode((screen_w, screen_h))
game_state = GameState.TITLE
while True:
if game_state == GameState.TITLE:
game_state = title_screen(screen)
if game_state == GameState.NEWGAME:
game_state = play_level(screen)
if game_state == GameState.QUIT:
pygame.quit()
return
Меня интересует данная строка из функции main():
if game_state == GameState.TITLE:
game_state = title_screen(screen)
Проверяется условие, а потом выполняется присвоение переменной game_state функции title_screen(). Но дело в том, что переменная game_state больше нигде в коде не вызывается, только в цикле while и эта строчка
game_state = title_screen(screen)
срабатывает в коде так, как будто после проверки условия происходит не присвоение, а непосредственно вызов функции title_screen(), как будто если бы было просто
if game_state == GameState.TITLE:
title_screen(screen)
Объясните, как это работает, почему вместо вызова функции используется присвоение переменной? Вот полный код, если что: https://disk.yandex.ru/d/LFmmqnkNMIawgg