使用其他.py文件中的函数

时间:2014-09-20 19:09:50

标签: python file function

因此,我对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。

任何帮助非常感谢。请不要使用"大词"因为正如我所说,我对编程一般来说还是一个新手。

1 个答案:

答案 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()