编程技术综合解析:从自定义类到调试工具
1. 自定义类与持久化框架
在编程中,自定义类的使用和对象的持久化是重要的部分。例如,当我们需要比较数据框中的红色和蓝色列时,可以定义一个带有 red
和 blue
参数的函数,通过这些参数名就能确定从数据框中需要的列。
为了让持久化框架能处理自定义类,我们对代码进行了重构。首先是 SaveExtend
类,它继承自 SaveAlias
,其 save
方法会检查对象是否为别名或内置类型,若不是则抛出错误:
class SaveExtend(SaveAlias):
def __init__(self, writer):
super().__init__(writer)
def save(self, thing):
if self._aliased(thing):
return
if self._builtin(thing):
return
assert False, f"Don't know how to handle {thing}"
处理内置类型的方法 _builtin
会检查对象类型,并调用相应的处理方法:
def _builtin(self, thi