(cls, *args, **kwargs)
return instance
Creates a new object instance and adds the private finalizer
        attributes to it.

        Returns: new object instance

        Arguments:
        * *args, **kwargs -- passed to the parent instance creator
                             (which ignores them)
Creates a new object instance and adds the private finalizer
        attributes to it.
Creates a new object instance and adds the private finalizer attributes to it .
def __new__(cls, *args, **kwargs):
        """Creates a new object instance and adds the private finalizer
        attributes to it.

        Returns: new object instance

        Arguments:
        * *args, **kwargs -- passed to the parent instance creator
                             (which ignores them)
        """
        # Note:   Do not pass a (hard) reference to instance to the
        #         finalizer as func/args/kwargs, it'd keep the object
        #         alive until the program terminates.
        #         A weak reference is fine.
        #
        # Note 2: When using weakrefs and not calling finalize() in
        #         __del__, the object may already have disappeared
        #         when weakref.finalize() kicks in.
        #         Make sure that _finalizer() gets called,
        #         i.e. keep __del__() from the base class.
        #
        # Note 3: the _finalize_called attribute is (probably) useless
        #         for this class
        instance = super(AutoFinalizedObject, cls).__new__(
            cls, *args, **kwargs
        )

        instance._finalizer = weakref.finalize(
            instance, _do_finalize_object_ref, weakref.ref(instance)
        )

        return instance
def __new__ ( cls , * args , * * kwargs ) : # Note:   Do not pass a (hard) reference to instance to the #         finalizer as func/args/kwargs, it'd keep the object #         alive until the program terminates. #         A weak reference is fine. # # Note 2: When using weakrefs and not calling finalize() in #         __del__, the object may already have disappeared #         when weakref.finalize() kicks in. #         Make sure that _finalizer() gets called, #         i.e. keep __del__() from the base class. # # Note 3: the _finalize_called attribute is (probably) useless #         for this class instance = super ( AutoFinalizedObject , cls ) . __new__ ( cls , * args , * * kwargs ) instance . _finalizer = weakref . finalize ( instance , _do_finalize_object_ref , weakref . ref ( instance ) ) return instance