使用多模块Python
我目前正在制作一个使用多个模块运行的游戏。然而,当我试图运行程序时,模块似乎不起作用。例如,当程序无法识别主程序中模块的函数时 我希望不接收到来自上面的错误消息。除此之外,我还想认识什么是绝地 这是我的密码: 主要(模块): 绝地(模块):使用多模块Python,python,module,pygame,Python,Module,Pygame,我目前正在制作一个使用多个模块运行的游戏。然而,当我试图运行程序时,模块似乎不起作用。例如,当程序无法识别主程序中模块的函数时 我希望不接收到来自上面的错误消息。除此之外,我还想认识什么是绝地 这是我的密码: 主要(模块): 绝地(模块): 您需要以正确的方式导入该类。例如: 从package.module导入类 在你的情况下,请将绝地导入绝地中的的内容缩减为a并解释:1。你所期望的;二,。发生了什么。我猜您应该调用jedi.jedi(),因为您正在尝试创建jedi对象,该对象是jedi文件的
您需要以正确的方式导入该类。例如: 从package.module导入类
在你的情况下,请将绝地导入绝地中的
的内容缩减为a并解释:1。你所期望的;二,。发生了什么。我猜您应该调用jedi.jedi()
,因为您正在尝试创建jedi
对象,该对象是jedi
文件的一部分。但正如@jonrsharpe所提到的,如果没有McVe,你很难判断你是否可以在你的进口中尝试使用来自绝地进口的绝地。检查Python中的导入我已经编辑了代码,很抱歉,我很少在stack over flow上发布。我不明白为什么你不能直接“导入jedi”你能给我解释一下吗?jedi
是你导入的模块的名称Jedi
是该模块中定义的特定类的名称。Python有两种不同的导入方式:import[module]
或从[module]import[thing]导入。如果使用第一个模块,您将从模块导入所有内容,但是当您使用导入的内容时,您必须指定它来自哪个模块(因此在您的示例中,您必须使用Jedi.Jedi
调用Jedi类)。如果使用第二种方法,则只导入您请求的模块的特定位,但可以使用它而不命名模块(因此,只需Jedi
)。
import jedi
def mains():
jedi = Jedi()
if __name__ == '__main__':
mains()
import pygame
class Jedi(pygame.sprite.Sprite):
def __init__(self):
super().__init__()
self.move_rights = []
self.move_lefts = []
self.image = pygame.image.load("obileft.png")
self.move_lefts.append(self.image)
self.image = pygame.transform.flip(self.image, True, False)
self.move_rights.append(self.image)
self.sprite_x_change = 0
self.sprite_y_change = 0
self.rect = self.image.get_rect()
self.rect.y = 400
self.rect.x = 120
self.nextLevel = False
self.right = False
self.left = False
self.jump = False
self.lightsaberRight = False
self.lightsaberLeft = False
# Mobility: Left, right, up and stop