我有Python类,在运行时只需要一个实例,所以每个类只有一次属性就足够了,而不是每个实例。如果存在多个实例(不会发生这种情况),则所有实例都应具有相同的配置。我想知道下面哪个选项会更好,或者更“惯用”Python。
类变量:
class MyController(Controller):
path = "something/"
children = [AController, BController]
def action(self, request):
pass
实例变量:
class MyController(Controller):
def __init__(self):
self.path = "something/"
self.children = [AController, BController]
def action(self, request):
pass
发布于 2010-04-26 23:16:24
如果你只有一个实例,最好是每个实例都使用所有变量,因为它们的访问速度(稍微快一点)(由于类到实例的“继承”,减少了一个级别的“查找”),而且没有任何缺点可以抵消这一小优点。
https://stackoverflow.com/questions/2714573
复制相似问题