当前位置: 首页>>代码示例>>Python>>正文


Python ref.__new__方法代码示例

本文整理汇总了Python中weakref.ref.__new__方法的典型用法代码示例。如果您正苦于以下问题:Python ref.__new__方法的具体用法?Python ref.__new__怎么用?Python ref.__new__使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在weakref.ref的用法示例。


在下文中一共展示了ref.__new__方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。

示例1: __new__

# 需要导入模块: from weakref import ref [as 别名]
# 或者: from weakref.ref import __new__ [as 别名]
def __new__(cls, meth, callback=None):
        try:
            obj = meth.__self__
            func = meth.__func__
        except AttributeError:
            raise TypeError("argument should be a bound method, not {}"
                            .format(type(meth)))
        def _cb(arg):
            # The self-weakref trick is needed to avoid creating a reference
            # cycle.
            self = self_wr()
            if self._alive:
                self._alive = False
                if callback is not None:
                    callback(self)
        self = ref.__new__(cls, obj, _cb)
        self._func_ref = ref(func, _cb)
        self._meth_type = type(meth)
        self._alive = True
        self_wr = ref(self)
        return self 
开发者ID:ComputerSocietyUNB,项目名称:CodingDojo,代码行数:23,代码来源:weakref_backports.py


注:本文中的weakref.ref.__new__方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。