21-作业-面向对象特殊成员和异常处理
-
列举你了解的面向对象中的特殊成员,并为每个写代码示例。
-
看代码写结果
class Foo(object): def __init__(self, age): self.age = age def display(self): print(self.age) data_list = [Foo(8), Foo(9)] for item in data_list: print(item.age, item.display()) -
看代码写结果
class Base(object): def __init__(self,a1): self.a1 = a1 def f2(self,arg): print(self.a1,arg) class Foo(Base): def f2(self,arg): print('666') obj_list = [Base(1),Foo(2),Foo(3)] for obj in obj_list: item.f2() -
看代码写结果
class StarkConfig(object): def __init__(self,num): self.num = num def changelist(self,request): print(self.num,request) class RoleConfig(StarkConfig): def changelist(self,request): print('666') config_obj_list = [StarkConfig(1),StarkConfig(2),RoleConfig(3)] for item in config_obj_list: print(item.num) -
看代码写结果
class StarkConfig(object): def __init__(self,num): self.num = num def changelist(self,request): print(self.num,request) class RoleConfig(StarkConfig): pass config_obj_list = [StarkConfig(1),StarkConfig(2),RoleConfig(3)] for item in config_obj_list: item.changelist(168) -
看代码写结果
class StarkConfig(object): def __init__(self,num): self.num = num def changelist(self,request): print(self.num,request) class RoleConfig(StarkConfig): def changelist(self,request): print(666,self.num) config_obj_list = [StarkConfig(1),StarkConfig(2),RoleConfig(3)] for item in config_obj_list: item.changelist(168) -
看代码写结果
class StarkConfig(object): def __init__(self,num): self.num = num def changelist(self,request): print(self.num,request) def run(self): self.changelist(999) class RoleConfig(StarkConfig): def changelist(self,request): print(666,self.num) config_obj_list = [StarkConfig(1),StarkConfig(2),RoleConfig(3)] config_obj_list[1].run() config_obj_list[2].run() -
看代码写结果
class StarkConfig(object): def __init__(self,num): self.num = num def changelist(self,request): print(self.num,request) def run(self): self.changelist(999) class RoleConfig(StarkConfig): def changelist(self,request): print(666,self.num) class AdminSite(object): def __init__(self): self._registry = {} def register(self,k,v): self._registry[k] = v site = AdminSite() print(len(site._registry)) site.register('range',666) site.register('shilei',438) print(len(site._registry)) site.register('lyd',StarkConfig(19)) site.register('yjl',StarkConfig(20)) site.register('fgz',RoleConfig(33)) print(len(site._registry)) print(site._registry) -
看代码写结果
class StarkConfig(object): def __init__(self,num): self.num = num def changelist(self,request): print(self.num,request) def run(self): self.changelist(999) class RoleConfig(StarkConfig): def changelist(self,request): print(666,self.num) class AdminSite(object): def __init__(self): self._registry = {} def register(self,k,v): self._registry[k] = v site = AdminSite() site.register('lyd',StarkConfig(19)) site.register('yjl',StarkConfig(20)) site.register('fgz',RoleConfig(33)) print(len(site._registry)) # 3 for k,row in site._registry.items(): row.changelist(5) -
看代码写结果
class StarkConfig(object): def __init__(self,num): self.num = num def changelist(self,request): print(self.num,request) def run(self): self.changelist(999) class RoleConfig(StarkConfig): def changelist(self,request): print(666,self.num) class AdminSite(object): def __init__(self): self._registry = {} def register(self,k,v): self._registry[k] = v site = AdminSite() site.register('lyd',StarkConfig(19)) site.register('yjl',StarkConfig(20)) site.register('fgz',RoleConfig(33)) print(len(site._registry)) # 3 for k,row in site._registry.items(): row.run() -
看代码写结果
class UserInfo(object): pass class Department(object): pass class StarkConfig(object): def __init__(self,num): self.num = num def changelist(self,request): print(self.num,request) def run(self): self.changelist(999) class RoleConfig(StarkConfig): def changelist(self,request): print(666,self.num) class AdminSite(object): def __init__(self): self._registry = {} def register(self,k,v): self._registry[k] = v(k) site = AdminSite() site.register(UserInfo,StarkConfig) site.register(Department,StarkConfig) print(len(site._registry)) for k,row in site._registry.items(): row.run() -
看代码写结果
class F3(object): def f1(self): ret = super().f1() print(ret) return 123 class F2(object): def f1(self): print('123') class F1(F3, F2): pass obj = F1() obj.f1() -
看代码写结果
class Base(object): def __init__(self,name): self.name = name class Foo(Base): def __init__(self,name): super().__init__(name) self.name = "于大爷" obj1 = Foo('alex') print(obj1.name) obj2 = Base('alex') print(obj2.name) -
看代码写结果
class Base(object): pass class Foo(Base): pass obj = Foo() print(type(obj) == Foo) print(type(obj) == Base) print(isinstance(obj,Foo)) print(isinstance(obj,Base)) -
看代码写结果
class StarkConfig(object): def __init__(self, num): self.num = num def __call__(self, *args, **kwargs): print(self.num) class RoleConfig(StarkConfig): def __call__(self, *args, **kwargs): print(self.num) v1 = StarkConfig(1) v2 = RoleConfig(11) v1() v2() -
看代码写结果
class StarkConfig(object): def __init__(self, num): self.num = num def run(self): self() def __call__(self, *args, **kwargs): print(self.num) class RoleConfig(StarkConfig): def __call__(self, *args, **kwargs): print(345) def __getitem__(self, item): return self.num[item] v1 = RoleConfig('alex') v2 = StarkConfig("wupeiqi") print(v1[1]) print(v2[2]) -
补全代码
class Context: pass with Context() as ctx: ctx.do_something() -
补全代码
class Stack(object): def __init__(self): self.data_list = [] def push(self,val): pass def pop(self): pass obj = Stack() # 调用push方法,将数据加入到data_list中。 obj.push('alex') obj.push('武沛齐') obj.push('金老板') # 调用pop讲数据从data_list获取并删掉,注意顺序(按照后进先出的格式) v1 = obj.pop() # 金老板 v2 = obj.pop() # 武沛齐 v3 = obj.pop() # alex # 请补全Stack类中的push和pop方法,将obj的对象维护成 后进先出 的结构。 -
如何主动触发一个异常?
-
看代码写结果
def func(arg): try: int(arg) except Exception as e: print('异常') finally: print('哦') func('123') func('二货')
预习
-
面向对象约束
class BaseAuthentication(object): """ All authentication classes should extend BaseAuthentication. """ def authenticate(self, request): """ Authenticate the request and return a two-tuple of (user, token). """ raise NotImplementedError(".authenticate() must be overridden.") class Foo(BaseAuthentication): def authenticate(self,request): pass obj = Foo() obj.authenticate() -
可迭代对象
-
反射
作者: do康解U
出处: https://www.cnblogs.com/David-domain/>
关于作者:专注数据库、Python 开发、ROS、深度学习,请多多赐教!
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出, 原文链接 如有问题, 可邮件(iamkuboy@163.com)咨询.
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
2017-06-15 OCP 11G 实验环境安装文档 ( RedHat5.5 + Oracle11g )