私はmain_program()関数から呼び出したい単純なメニュー関数を書いています。コードにはWriting
というクラスも含まれています。これはmain_program()
のオブジェクトを作成しようとしています。その理由は、グローバル変数を避ける方がよいと聞いてきたからです。しかし、これは動作しませんし、私は答えを得る:NameError: name 'writing_obj' is not defined
作成する場所Pythonでオブジェクトを作成するときにグローバル変数を避ける
main_program()
すべてが正常に動作外で、私はオブジェクトを作成するときに私は推測するが、私は何とかmain_function()
から私のオブジェクトwriting_obj
を返す必要があるということですか?ここで
は、私が書いたコードです:
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()
完全に作業しました。ありがとう! –