• copy_reg (Data Persistence) – Python 中文开发手册


    [
  •   Python 中文开发手册

    copy_reg (Data Persistence) - Python 中文开发手册

    注意

    该copy_reg模块已被重命名为copyregPython 3. 当将源代码转换为Python 3时,2to3工具将自动适应导入。

    该copy_reg模块提供了一种定义酸洗特定对象时使用的函数的方法。的pickle,cPickle和copy模块酸洗/复制这些对象时使用这些功能。该模块提供有关不是类的对象构造函数的配置信息。这样的构造函数可能是工厂函数或类实例。

    copy_reg.constructor(object)

    声明对象是一个有效的构造函数。如果对象不可调用(因此无法用作构造函数),则引发TypeError。

    copy_reg.pickle(type, function[, constructor])

    声明该函数应该用作类型类型的对象的“减少”函数; 类型不能是“经典”类对象。(经典类的处理方式不同; pickle有关详细信息,请参阅模块的文档。)函数应返回包含两个或三个元素的字符串或元组。

    可选的构造函数参数(如果提供的话)是一个可调用的对象,它可以在pickling时用函数返回的参数元组调用时重建对象。TypeError如果object是一个类或者构造函数不可调用,将会引发它。

    有关函数和构造函数pickle的接口的更多详细信息,请参阅模块。

    1.例子

    下面的例子想展示如何注册一个pickle函数以及如何使用它:

    >>> import copy_reg, copy, pickle
    >>> class C(object):
    ...     def __init__(self, a):
    ...         self.a = a
    ...
    >>> def pickle_c(c):
    ...     print("pickling a C instance...")
    ...     return C, (c.a,)
    ...
    >>> copy_reg.pickle(C, pickle_c)
    >>> c = C(1)
    >>> d = copy.copy(c)
    pickling a C instance...
    >>> p = pickle.dumps(c)
    pickling a C instance...
  •   Python 中文开发手册
    ]
    转载请保留页面地址:https://www.breakyizhan.com/python/34881.html
  • 相关阅读:
    HDU1026 Ignatius and the Princess I
    luogu_1865 A % B Problem
    luogu_1092 虫食算
    luogu_1111 修复公路
    luogu_1265 公路修建
    luogu_2330 [SCOI2005]繁忙的都市
    luogu_1613 跑路
    luogu_3386 【模板】二分图匹配
    luogu_3388 【模板】割点(割顶)
    luogu_2327 扫雷
  • 原文地址:https://www.cnblogs.com/breakyizhan/p/13263410.html
Copyright © 2020-2023  润新知