伪私有属性 | 伪私有方法 | Python
Posted 胡说八道
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了伪私有属性 | 伪私有方法 | Python相关的知识,希望对你有一定的参考价值。
1.私有属性 # 在属性前加上双下划线 # 为了保护属性安全 # 私有属性无法直接通过对象调用,需要添加一个调用方法来调用; class People(object): def __init__(self): self.__name = ‘Mic‘ def get_private_attr(self, new_name): self.__name = new_name print(self.__name) # 创建对象 p = People() # 获取私有属性 p.get_private_attr(‘Lily‘) print(p.__name) 2.私有方法 # 同样的,调用需要用另一方法来调用私有方法; class People(object): def __init__(self): self.__name = ‘Mic‘ def __get_name(self): print(self.__name) def get_name(self): self.__get_name() p = People() # p.__get_name() p.get_name() ------------------------------------------------->>> 伪私有 # !!! 其实python的类是没有权限控制的,所谓的双下划线表示私有,其实是可以访问的; class Private(object): def __inaccesible(self): print(‘你访问不到‘) def inaccesible(self): print(‘其实你看的到‘) self.__inaccesible() p = Private() # p.__inaccesible() # p.inaccesible() p._Private__inaccesible() >>> 你访问不到 class Private(object): def __init__(self): self.__name = ‘Mic‘ def get_name(self): print(self.__name) p = Private() # print(p.__name) # p.get_name() print(p._Private__name) >>> ‘Mic‘
以上是关于伪私有属性 | 伪私有方法 | Python的主要内容,如果未能解决你的问题,请参考以下文章