OOP:getter/setter方法

hat*_*rix 23 python oop

所以我读过你应该通过get或setter方法访问对象属性,比如object.get_this()object.set_that(value).此代码是否适用于在类中定义的方法?或者它们仅用于对象实例.例如,这样做是不是惯用,

class test:
    def __init__(self,value):
        self.value = value
    def get_value(self):
        return self.value
    def method(self):
        return some_operation(self.value)
Run Code Online (Sandbox Code Playgroud)

get_value()用于访问定义value为对象实例,还是应该get_value()也可以类方法中使用?

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())
Run Code Online (Sandbox Code Playgroud)

unu*_*tbu 48

在python中不要使用 getter/setter方法.而只是访问属性本身,或者,如果您需要在每次访问或设置属性时运行代码,请使用属性.

  • +1这样做的其他原因:[Python不是Java](http://dirtsimple.org/2004/12/python-is-not-java.html) (19认同)