@什么是类的私有成员
@案例,需求如下
class Person:
# 公有属性
name = "林阿华"
age = 20
# 私有属性(须通过公有方法来访问)
__rmb = 1000
# 私有方法:设置存款
def __setrmb(self,rmb):
self.__rmb = rmb
# 通过公开方法访问私有方法进行存款设置
def setrmb(self,rmb):
pwd = input("请输入设置密码:")
if (pwd == "123456"):
self.__setrmb(rmb)
else:
print("您没有权限,fuck off")
# 公开一个方法,共外界访问私有属性self.__rmb
def getrmb(self):
pwd = input("请输入查询密码:")
if (pwd == "123456"):
return self.__rmb
else:
return "您没有访问权限"
# 公有方法
def tell(self):
print("大家好,我是%s"%(self.name))
代码说明:
创建Person实例,并通过公有方法访问私有成员
p = Person()
print(p.name)
print(p.age)
# 私有成员不能被直接访问
# print(p.__rmb)#AttributeError: 'Person' object has no attribute '__rmb'
# 访问公有方法
p.tell()
p.setrmb(500)#通过公有方法访问私有方法
rmb = p.getrmb()
print("我的存款是:",rmb)