Я написал простую функцию меню, которую хочу вызвать из моей функции main_program(). Код также включает класс Writing
, который я пытаюсь сделать объектом внутри main_program()
. Причина этого в том, что я слышал, что лучше избегать глобальных переменных. Однако это не работает, и я получаю ответ: NameError: name 'writing_obj' is not defined
Где создать глобальные переменные при создании объектов в Python
Когда я создаю объект вне main_program()
все работает нормально, так что я предполагаю, что я должен вернуть свой объект writing_obj
из main_function()
каких-то образом?
Вот код, который я написал:
class Writing:
def writing_something(self):
print("I'm learning Python ")
def menu():
while True:
val = int(input("1. Write a sentence 2. Quit "))
if val == 1:
writing_obj.writing_something()
elif val == 2:
print("The program shuts down. See ya! ")
break
else:
print("Sorry, I din't get that! ")
continue
def main_program():
writing_obj = Writing()
menu()
main_program()
Работал отлично. Благодаря! –