Python: Class Attributes Vs Getters and Setters?
本问题已经有最佳答案,请猛点这里访问。
在处理python类时,似乎有很多次可以使用
我使用OOP的次数越多,就越倾向于使用类方法来获取和设置属性。我想知道我所选择的方向是否正确,以及我以后是否不会对10公里的代码行感到抱歉。请给出建议!
您的想法是正确的,但是您应该看看python
1 2 3 4 5 6 7 8 9 10 11 12 | class Foo(): def __init__(self, x): self.__x = x @property def x(self): return self.__x @x.setter def set_x(self, value): if(value < 0): self.__x = value |
其中,您可以嵌套"set"逻辑和"get"逻辑(如果您正在更改如何呈现它),这使得从类中调用值
1 2 3 4 5 6 7 8 9 | foo = Foo(-4) foo.x >>> -4 foo.x = 3 foo.x >>> -4 foo.x = -12 foo.x >>> -12 |
号