繁体   English   中英

如何在Python中组织类?

[英]How to Organize Classes in Python?

我遇到过一个问题,我认为答案非常简单,但很难在简短的谷歌搜索中解释,我找不到任何关于这个主题的内容。

所以,在最近的一个游戏中,我一直在努力,我为游戏中的每个块/平铺都有多种类型的对象:

    class Char(object):
        ...
        def update(self):
            ...
        def move(self, direction):
            ...

要么

    class Dirt(object):
        ...

显然,在主程序中定义所有这些类可能会非常混乱 ,例如,如果我想在游戏中创建一个名为“screen”(计算机屏幕)的对象,那么这将与我的冲突实际游戏窗口的屏幕类。 而且,创建第二个名为gameObjects的模块也会导致我的所有游戏对象无法访问main中定义的变量的问题。

那么,我如何组织或分组我的课程呢? 我是初学者进入Python,所以一个简单的答案将不胜感激,谢谢。

您通常不希望具有与您的类具有相同名称的对象。 如果他们没有在相同的范围内定义,实际上并没有冲突,但它仍然令人困惑。

但是,如果您遵循典型的Python命名约定,这将不会成为问题:您的类以大写字母开头,而您的变量以小写字母开头。 因此,您的变量称为screen ,并且您有一个名为Screen的类并不重要。

同时,您可能希望将相关的类放在一个模块中。 gameObjects模块中定义的类的对象将无法访问main中定义的变量,但您不希望它们访问。 全局变量几乎总是一个坏主意。 如果对象需要访问变量,请将该变量传递给其构造函数。

在创建自己的大型项目之前,您应该查看其他一些大型项目以了解它们如何组织事物。

暂无
暂无

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

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