因此,我对Python和编程非常陌生。我的文字游戏遇到了问题。我试图创建一个函数(非常确定' def(名称)是一个函数,对吧?).py名为“locationMenu'并在我的主游戏文件中使用它。这是我的locationMenu.py的开头(其余的只是print和if / elif / else语句。
from main import Engine, Hallway, Canteen, Bedroom, Room
class locationsMenu():
def locationMenu(self):
这里是我主要游戏文件中的一个地方,我正在尝试使用' locationMenu'我刚创建的功能。
locationMenu()
在我用输入等作出选择后,这只是一行,但现在我想跳到另一个文件中的locationMenu。
任何帮助非常感谢。请不要使用"大词"因为正如我所说,我对编程一般来说还是一个新手。
答案 0 :(得分:2)
locationMenu()
是locationsMenu()
类的实例方法,因此您需要创建一个实例并在其上调用方法,例如:
from locationMenu import locationsMenu
my_menu = locationsMenu() # Create a new object
my_menu.locationMenu() # Call its instance method
如果你只是尝试locationsMenu.locationMenu()
,那么你会得到类似这样的错误:
Traceback (most recent call last):
File "./prog.py", line 3, in <module>
locationsMenu.locationMenu()
TypeError: locationMenu() missing 1 required positional argument: 'self'
因为locationMenu()
不是类方法,并且您在没有locationsMenu
对象的情况下尝试调用它。
如果你根本不想要它在一个类中,那么使它成为常规函数,然后执行:
locationMenu.py
:
from main import Engine, Hallway, Canteen, Bedroom, Room
def locationMenu():
print("In function locationMenu()")
prog.py
:
from locationMenu import locationMenu
locationMenu()