在Python中分离不同文件中的类

在Python中分离不同文件中的类,python,class,oop,Python,Class,Oop,我是一个初学者,试图建立一个简单的游戏。为了方便起见,我想把我的六个类分成不同的文件。这些类相互依赖和使用,游戏类是“主”类 然而,这些类似乎要么无法找到对方,要么至少无法互相调用。我尝试了两件事: 在每个文件中,导入所有其他类 等等。 但是,当调用方法(例如player.move或game.reset)时,我收到以下错误: TypeError:“模块”对象不可调用 这让我觉得应该只导入文件中的类,所以我尝试了以下方法: 这不起作用,并出现以下错误:ImportError:无法从“player”

我是一个初学者,试图建立一个简单的游戏。为了方便起见,我想把我的六个类分成不同的文件。这些类相互依赖和使用,游戏类是“主”类

然而,这些类似乎要么无法找到对方,要么至少无法互相调用。我尝试了两件事:

在每个文件中,导入所有其他类 等等。 但是,当调用方法(例如player.move或game.reset)时,我收到以下错误: TypeError:“模块”对象不可调用

这让我觉得应该只导入文件中的类,所以我尝试了以下方法: 这不起作用,并出现以下错误:ImportError:无法从“player”C:\Users\user\Documents\Python\ballgame\player.py导入名称“player”

需要明确的是,每个文件都以类命名,并且只包含一个类,例如文件Player.py中的类Player 所有文件都位于一个没有子文件夹的文件夹中。我还创建了一个空init.py,因为我知道这是必需的

文件结构:

folder ballgame
--- __init___.py
---game.py
---player.py
---powerup.py
每个文件如下所示:

import game
import player
import [all other classes]

Class()
    methods()

我应该如何构造类以使其工作?我应该将每个类导入到每个文件中吗?

我认为这没有问题:从player导入player,那么从player导入player…?这似乎不起作用,给出了相同的错误。另外,我还不熟悉堆栈溢出。这不是我应该问的问题吗?因为有向下投票。所以请尝试从.player导入PlayerI中我看到这是Stackoverflow的标记,它被命名为双下划线uinit uuz.py这似乎只有在删除其他文件中的导入语句时才起作用。但是,我需要导入所有文件中的所有类,因为它们相互依赖。如果“a”依赖于“b”而“b”依赖于“a”,那么“a”依赖于“b”,谁将首先工作以及如何工作?是的,我认为同样的事情,它们不能交叉引用,也不需要。我找到了解决办法,谢谢大家!
folder ballgame
--- __init___.py
---game.py
---player.py
---powerup.py
import game
import player
import [all other classes]

Class()
    methods()