Python中的setter和getter

2019-01-08  本文已影响40人  爆炸的白菜君

私有属性的获取和设置,需要提供外部访问的方法,就需要使用到setter和getter

🌰

class TestClass:
    def __init__(self):
        self.__name = "yhl"


    def getName(self):
        return self.__name

    def setName(self, newValue):
        if isinstance(newValue,str):
            self.__name = newValue
        else:
            print ("格式错误")

t = TestClass()
t.__name = "666"
print t.__name

print t.getName()

print t.__dict__.keys()

print t._TestClass__name

这里需要注意的是对象里面有一个私有属性__name。其实这个私有属性在外面的对应的名字是 _类名__属性名。在这个例子里面就是 _TestClass__name。
既然这样,那么在外部调用 t.__name = "666" 那么就是直接给对象添加一个共有属性名字叫__name。

上一篇 下一篇

猜你喜欢

热点阅读