1.私有变量或者私有变量外部无法访问只能在类中访问
1.1私有变量
class Foo(object): def __init__(self, name, age): self.__name = name self.age = age def get_data(self): return self.__name def get_age(self): return self.ageobj = Foo("武沛齐", 123)# 私有成员# print(obj.__name) # 错误,由于是私有成员,只能在类中进行使用。v2 = obj.get_data()print(v2)
1.2 私有方法
class Foo(object): def get_age(self): print("公有的get_age") def __get_data(self): print("私有的__get_data方法") def proxy(self): print("公有的proxy") self.__get_data()obj = Foo()obj.get_age()obj.proxy() # __get_data()通过proxy()间接访问
2.强制从外部访问私有成员(不提倡)
class Foo(object): def __init__(self): self.__num = 123 self.age = 19 def __msg(self): print(1234)obj = Foo()print(obj._Foo__num)obj._Foo__msg()