优秀网站设计欣赏图片,长沙臻钬建站活动方案,松山湖短视频seo排名,域名网址申请流程一、__reduce__()介绍 当定义扩展类型时#xff08;也就是使用Python的C语言API实现的类型#xff09;#xff0c;如果你想pickle它们#xff0c;你必须告诉Python如何pickle它们。 __reduce__ 被定义之后#xff0c;当对象被Pickle时就会被调用。它要么返回一个代表全局名… 一、__reduce__()介绍 当定义扩展类型时也就是使用Python的C语言API实现的类型如果你想pickle它们你必须告诉Python如何pickle它们。 __reduce__ 被定义之后当对象被Pickle时就会被调用。它要么返回一个代表全局名称的字符串Pyhton会查找它并pickle要么返回一个元组。这个元组包含2到5个元素其中包括一个可调用的对象用于重建对象时调用一个参数元素供那个可调用对象使用被传递给 __setstate__ 的状态可选一个产生被pickle的列表元素的迭代器可选一个产生被pickle的字典元素的迭代器可选 二、使用案例 class ServerError(UserWarning):# UserWarning用户代码生成的警告def error(self):# C语言接口可将错误信息pickle成字符串return self.__reduce__()[1]#返回的是(class __main__.ServerError, (错误信息,))所以切片取1def instance_name(name):try:if not isinstance(name,str):raise ServerError(名字必须是字符串)except ServerError as e:errore.error()[0]print(error)instance_name(123)
#作用是可以将自定义的错误信息组成json格式返回给前端 转载于:https://www.cnblogs.com/songxuexiang/p/11309857.html