python内部类
java有四种内部类,用于在类内部完成较为复杂的逻辑,并且可以访问类的私有属性
python也有内部类,与java内部类差不多,下面是简单的用法
class Outer: age = 18 def __init__(self, task_id): self.task_id = task_id def common(self): print("我是外部类的普通方法") return self.task_id @classmethod def c_method(cls): print("我是外部类的类方法") @staticmethod def println(): print("我是外部类的静态方法") # obj代表外部类的对象 class Inner: def __init__(self, table_name, obj): self.table_name = table_name self.obj = obj def __str__(self): print("打印外部类的类属性") print(Outer.age) print("打印外部类的类方法") Outer.c_method() print("打印外部类的静态方法") Outer.println() print("打印外部类的普通方法") self.obj.common() print("打印外部类的属性task_id" + self.obj.task_id) return self.table_name def run(self): print("启动") def execute(self): # 外部类方法访问内部类 print("外部类方法实例化内部类") inner_obj = self.Inner("table", self) print("在外部类方法打印内部类对象" + str(inner_obj)) inner_obj.run() if __name__ == "__main__": outer = Outer("task") print('outer对象' + str(outer)) inner = Outer.Inner("table", outer) print('inner对象' + str(inner)) outer.execute()
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· SQL Server 2025 AI相关能力初探
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南