Я работаю над проектом Pygame и выложил основной движок. Проблема в том, что я столкнулся с ошибкой, которую просто не могу понять. Происходит следующее: один модуль не может прочитать переменную из другого модуля.
Дело не в том, что переменная не может быть прочитана, она просто видит пустой список вместо того, что есть на самом деле.
Вместо того, чтобы публиковать весь исходный код, я воспроизвел ошибку в двух небольших отрывках, которые, надеюсь, сможет понять умелый питонист в своей голове.
Код:
main.py (это файл, который запускается)
экран импорта
screens = [] #A stack for all the game screens
def current_screen():
#return a reference to the current screen
return screens[-1]
def play():
print'play called'
current_screen().update()
if __name__=='__main__':
screens.append(screen.Screen())
play()
screen.py
import main
class Screen:
def __init__(self):
print'screen made'
def update(self):
print main.screens
#Should have a reference to itself in there
Спасибо!