import datetime
class User:
def __init__(self, birthday):
self.__birthday = birthday
def get_age(self):
#返回年龄
return 2018 - self.__birthday.year
if __name__ == "__main__":
user = User(datetime.date(1990,2,1))
# 报错,私有变量
print(user.__birthday
# 不报错,这个现象是因为python将双下划线的变量处理成“_className__attr”格式,针对User即为“_User__birthday”.
# 所以这是一种语言规范,左双下划线代表了私有变量,建议不要直接访问
print(user._User__birthday)
print(user.get_age())
4-8 数据封装和私有属性
最新推荐文章于 2024-07-14 20:45:06 发布