簡體   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