繁体   English   中英

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

[英]Separating classes in different files in Python

我是一个初学者,试图构建一个简单的游戏。 为方便起见,我想将我的类(大约六个)分成单独的文件。 这些类相互依赖并相互使用,其中 Game() 类是“主要”类。

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

  1. 在每个文件中,导入所有其他类
import game
import player
import powerup

等等 但是,当调用方法(例如player.move()game.reset() )时,我收到此错误: TypeError: 'module' object is not callable

  1. 这让我觉得我应该只导入文件中的类,所以我尝试了这个:
from game import game
from player import player
from powerup import powerup

这不起作用并出现此错误: ImportError: cannot import name 'player' from 'player' (C:\\Users\\user\\Documents\\Python\\ballgame\\player.py)

需要明确的是,每个文件都以类命名,并且只包含一个类,例如文件 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()

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

我认为这没有问题: from player import Player <<-- 在这里大写您确定没有错字或遗漏了一些大写字母,您将其写得很小。

我认为类通常以大写字母开头,你写的很小,你确定它在类的文件中真的很小。

确保文件名和类名与您导入的完全相同

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM