我正在将一堆相关的东西放到一个类中。主要目的是将它们组织到一个名称空间中。在Python中使用类作为命名空间是一个好主意
class Direction:
north = 0
east = 1
south = 2
west = 3
@staticmethod
def turn_right(d):
return turn_to_the_right
@staticmethod
def turn_left(d):
return turn_to_the_left
# defined a short alias because direction will be used a lot
D = Direction
d0 = D.north
d1 = D.turn_right(d)
涉及的对象概念并不多。在C++中,我将使用实际的语言关键字namespace
。 Python中没有这样的东西。所以我试图用class
来达到这个目的。
这是个好主意吗?这种方法有什么陷阱?
我刚才回答了一个相关的问题。这个问题以不同的方式提出。这是我需要为自己做出的实际决定。
静态方法VS在Python模块功能 - 堆栈溢出
Static method vs module function in python
谢谢。到目前为止,我得到的评论是 1.使用模块 2.做什么是有道理的。 我还想弄清楚的是,如果仅仅将类用作命名空间或者有一些不合理的理由,就认为类是合法的选项。 – 2010-08-26 18:14:01