python????????????__reduce__()?????????,pythonreduce函数,??????????


?????????

??????__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:        error=e.error()[0]        print(error)instance_name(123)#??????????????????????????????????????????????????????json?????????????????????

python????????????__reduce__()?????????

?????????

???????????????https://www.cnblogs.com/angelyan/p/11079267.html

评论关闭