我在正在處理的遊戲中遇到棘手的問題。我使用Pygame來開發它。我恰好是那些從不使用默認__dict__
對象變量的開發人員之一;我總是定義__slots__
來澄清一個對象可以擁有的變量(我有一個classmethod讀取插槽以確定配置文件中需要的變量)。Python - 禁止在子類中創建__dict__類變量
無論如何,我只是意識到這種努力不適用於我的一些課程;他們仍然有一個__dict__
變量,並且可以賦予任意屬性,即使他們明確定義了它們的__slots__
。我認爲這是因爲它們從pygame.sprite.Sprite繼承而來,它有__dict__
。如果是這樣的話,我該如何壓制這個字典的創建? (我雖然明確定義了__slots__
應該)或者我可能會誤解原因?感謝您的任何見解;很難通過搜索找到關於這個特定問題的信息。
如果您解釋原因,可能會有更好的解決方案。 – ninMonkey 2011-09-22 04:15:10