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‘
时间: 2025-01-07 01:47:24