09 ### 面向对象-修饰符 __? 私有变量

__? 表示是私有,私有得,只能内部才能访问

class Info:
    city = 'sc'
    __xx = 'xxx'  # __表示私有成员

    def __init__(self, name, age):
        self.name = name
        self.__age = age

    def show(self):
        print(self.__age)  # 通过内部函数进行调用
        print(self.__xx)  # 通过内部函数进行调用
        print(Info.__xx)  # 通过 类方法进行调用


obj = Info('tex', 29)
print(obj.name)
print(obj.__age)  # 报错 AttributeError: 'Info' object has no attribute '__age'
print(obj.show())  # 如果需要访问私有变量,需要在类方法中增加show 方法,通过内部进行调用私有变量

# 第二种访问私有成员变量 只有Flask上下文管理中有使用
class Info1:
    city = 'sc'
    __xx = 'xxx'  # __表示私有成员

    def __init__(self, name, age):
        self.name = name
        self.__age = age


obj = Info1('tex', 29)
print(obj.name)
# print(obj.__age)  # 报错 AttributeError: 'Info' object has no attribute '__age'
print(obj._Info1__age)  # 如果一定需要访问私有变量,可以使用:obj._Info1__age 创建的对象名._类名__私有变量名进行访问 obj._Info1__age

posted @   jhchena  阅读(4)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· winform 绘制太阳,地球,月球 运作规律
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)
点击右上角即可分享
微信分享提示