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
分类:
第七章 面向对象 / 特殊成员
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· winform 绘制太阳,地球,月球 运作规律
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)