Python编程:文件、字符串操作与测试实践
1. 文件与字符串操作
在Python中,对象序列化是一项重要的功能。默认的序列化方法会检查要序列化的对象类型。若对象为联系人,我们手动将其转换为字典;若不是,则让父类处理序列化,因为JSON能处理基本类型。为了在加载时能识别对象为联系人,我们会传递一个额外属性。对于更通用的序列化机制,可在字典中存储字符串类型或完整类名。
以下是编码联系人的示例代码:
import json
class Contact:
def __init__(self, first, last):
self.first = first
self.last = last
self.full = f"{first} {last}"
class ContactEncoder(json.JSONEncoder):
def default(self, obj):
if isinstance(obj, Contact):
return {'is_contact': True, 'first': obj.first, 'last': obj.last, 'full': obj.full}
return super().default(obj)
c = Contact("John", "Smith")
print(json.dumps(c, cls=ContactEncoder))
输出结果:
{"is_contact":
超级会员免费看
订阅专栏 解锁全文

被折叠的 条评论
为什么被折叠?



