美文网首页
Python中的setter和getter

Python中的setter和getter

作者: 爆炸的白菜君 | 来源:发表于2019-01-08 09:38 被阅读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。

相关文章

网友评论

      本文标题:Python中的setter和getter

      本文链接:https://www.haomeiwen.com/subject/ddtvrqtx.html