OOP: getter/setter methods
本问题已经有最佳答案,请猛点这里访问。
所以我已经读到,您应该通过getter/setter方法访问对象属性,比如
1 2 3 4 5 6 7 | class test: def __init__(self,value): self.value = value def get_value(self): return self.value def method(self): return some_operation(self.value) |
对于为对象实例访问
1 2 3 4 5 6 7 | class test: def __init__(self,value): self.value = value def get_value(self): return self.value def method(self): return some_operation(self.get_value()) |
号
在Python中,不要使用getter/setter方法。相反,只需访问属性本身,或者,如果每次访问或设置属性时都需要运行代码,请使用属性。
我不会以与我期望的其他对象的方法访问属性不同的方式访问该对象方法中的对象属性。为什么?我不确定,只是看起来很奇怪。
如果您使用属性修饰器(它消除了对getter/setter的需要,如"get_foo"/"set_foo"),python会使这变得非常容易。