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

2024-05-14 15:25:08 发布

您现在位置:Python中文网/ 问答频道 /正文

所以我对Python和一般编程非常陌生。我的文字游戏出了问题。我正在尝试创建一个函数(很确定'def(name)是一个函数,对吧?)在一个名为“locationMenu”的.py中,并在我的主游戏文件中使用它。这是我人生的开始位置菜单.py(剩下的只是打印和if/elif/else语句。你知道吗

from main import Engine, Hallway, Canteen, Bedroom, Room

class locationsMenu():
    def locationMenu(self):

这是我的主游戏文件中的一个地方,我正在尝试使用我刚刚创建的“locationMenu”功能。你知道吗

    locationMenu()

这只是一行后,我作出了一个选择,输入等,但现在我想跳到位置菜单,在另一个文件。你知道吗

非常感谢您的帮助。请不要用“大词”,因为正如我所说的,我对编程还很陌生。你知道吗


Tags: 文件函数namepy游戏ifdef编程
1条回答
网友
1楼 · 发布于 2024-05-14 15:25:08

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

相关问题 更多 >

    热门问题