Вопрос Noob.
У меня есть следующий простой код:
class Test():
def __init__(self):
self.foo = "foo"
def bar(self):
self.foo = "bar"
def action():
a = input("Anything>")
spam.bar()
print(spam.foo)
spam = Test()
action()
Он отображает, как и ожидалось, "бар".
Когда я делю его на две части файлы: test_main.py:
from test_module import action
class Test():
def __init__(self):
self.foo = "foo"
def bar(self):
self.foo = "bar"
spam = Test()
action()
и test_module.py:
def action():
a = input("Anything>")
spam.bar()
print(spam.foo)
Функция action () не может получить доступ к объекту "спам":
File "test_main.py", line 14, in <module>
action()
File "/home/krzysztof/Documents/dev/Python Crash Course/12/test_module.py", line 3, in action
spam.bar()
NameError: name 'spam is not defined'
Я знаю, что такой доступ возможен, но я не могу найти информацию о том, как это сделать. Чего мне не хватает?