所以我正在用 Python 开发一个 CLI 游戏,我有一个名为 Menu 的类,这里是该类的代码:
class Menu:
def __init__(self, name, options=list) -> None:
self.name = name
self.options = options
def draw(self):
print(f" #### {self.name} ####")
print("\n")
print("\n")
print("##############################")
cur = 1
for x in self.options:
print(f"[{cur}] - {x}")
cur += 1
当我在另一个文件中使用此类时,它工作正常。我有一个名为 main 的文件,该文件内有一个名为 Game 的类,这是该类的代码:
from lib.menu import Menu
class Game:
def __init__(self):
pass
def start(self):
self.main = Menu('Python-RPG', ['Start', 'Mods', 'Options', 'Exist'])
self.main.draw()
g = Game()
g.start
如果我在类之外使用 start() 内部的行,它会正常工作,但是使用这种变体,它不会输出任何内容,没有错误,如果我在 start() 函数内部添加 print() 语句,它不会输出任何内容打印。任何帮助将不胜感激:D
我尝试在课堂外运行它 - 效果很好。但是当它在类中并且我调用 start() 方法时,没有任何输出。
您忘记了
g.start
后面的括号。尝试做g.start()
,看看是否有效。