美文网首页
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