何时在 Python 中为单例使用类属性
使用单个所需实例创建 Python 类时,选择适当的属性策略至关重要。类属性和实例属性都有独特的优点和缺点。
类属性:
类属性直接分配给类本身,并在所有实例之间共享。如果类的所有实例都需要相同的属性,则此方法适用。例如:
class MyController(Controller): path = "something/" children = [AController, BController]
实例属性:
实例属性与类的特定实例相关联,并且对于该实例是唯一的。它们是在 __init__() 方法中动态创建的。当每个实例需要其属性具有唯一值时,此方法是必要的。例如:
class MyController(Controller): def __init__(self): self.path = "something/" self.children = [AController, BController]
哪种单例方法?
由于您的类只有一个必需的实例,因此建议使用 实例属性 在这种情况下。原因如下:
因此,对于需要具有共享配置的单个实例的 Python 类,将属性定义为实例变量更为惯用且有益。
以上是我应该对 Python 单例使用类属性还是实例属性?的详细内容。更多信息请关注PHP中文网其他相关文章!