def print_summary(self, w=0, objs=(), **print3opts):
        '''Prints the summary statistics.

        The available options and defaults are:

            *w=0* -- indentation for each line

            *objs=()* -- optional, list of objects

            *print3opts* -- print keyword arguments, like Python 3.+
        '''
        self._printf('%*d bytes%s%s', w, self._total, _SI(self._total), self._incl, **print3opts)
        if self._mask:
            self._printf('%*d byte aligned', w, self._mask + 1, **print3opts)
        self._printf('%*d byte sizeof(void*)', w, _sizeof_Cvoidp, **print3opts)
        n = len(objs or ())
        if n > 0:
            d = self._duplicate or ''
            if d:
                d = ', %d duplicate' % self._duplicate
            self._printf('%*d object%s given%s', w, n, _plural(n), d, **print3opts)
        t = sum(1 for t in _values(self._seen) if t != 0)
        self._printf('%*d object%s sized', w, t, _plural(t), **print3opts)
        if self._excl_d:
            t = sum(_values(self._excl_d))
            self._printf('%*d object%s excluded', w, t, _plural(t), **print3opts)
        t = sum(_values(self._seen))
        self._printf('%*d object%s seen', w, t, _plural(t), **print3opts)
        if self._missed > 0:
            self._printf('%*d object%s missed', w, self._missed, _plural(self._missed), **print3opts)
        if self._depth > 0:
            self._printf('%*d deepest recursion', w, self._depth, **print3opts)
Prints the summary statistics.

        The available options and defaults are:

            *w=0* -- indentation for each line

            *objs=()* -- optional, list of objects

            *print3opts* -- print keyword arguments, like Python 3.+
        
recipes/Python/546530_Size_of_Python_objects_revised/recipe-546530.py