我是一名高级程序员,最近开始使用和学习python。我最近遇到了this问题。该问题的答案表明,不是在类中使用静态方法,而是仅仅使用方法而不使用类,这被认为是更好的设计。
代码设计1:
gameResolution.py
width = 300
height = 300
# other variables, and functions following...
screenResolution.py
width = 1920
height = 1080
# other variables and functions following...
代码设计2:
resolution.py
class GameResolution:
width = 300
height = 300
# static functions following
class ScreenResolution:
width = 1920
height = 1080
# static functions following
正如您可能看到的,代码设计2 在这种情况下更有意义(在我看来)。我可以在一个类中包含与该实体相关的任何内容(例如GameResolution或ScreenResolution)以及resolve.py文件中的所有这些类。
如果我遵循代码设计1 ,我会得到许多微小的.py文件,每个代表一个非常小的类。正确吗?
那么,静态方法对python来说是不是很糟糕?在这种情况下,你会做什么?
答案 0 :(得分:2)
最好的解决方案取决于你的风格。话虽如此,我认为将类作为单一用途静态的类是不可能的。我会做以下其中一项:
width
和height
的名称更改为game_width
,game_height
,screen_width
和screen_height
。至于当我使用静态方法时,由于某种原因,唯一的时间是以不同于初始化程序的方式创建对象。但这样做的必要性相当罕见。听起来你的用例更适合用于表示所有内容的一个类,或者它们是否足够不同于全局和函数而不是类和静态方法。