def print_stats(self, objs=(), opts={}, sized=(), sizes=(), stats=3.0, **print3opts):
        '''Prints the statistics.

        The available options and defaults are:

            *w=0* -- indentation for each line

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

            *opts={}* -- optional, dict of options used

            *sized=()* -- optional, tuple of **Asized** instances returned

            *sizes=()* -- optional, tuple of sizes returned

            *stats=0.0* -- print stats, see function **asizeof**

            *print3opts* -- print keyword arguments, like Python 3.+
        '''
        s = min(opts.get('stats', stats) or 0, self._stats_)
        if s > 0:  # print stats
            t = self._total + self._missed + sum(_values(self._seen))
            w = len(str(t)) + 1
            t = c = ''
            o = _kwdstr(**opts)
            if o and objs:
                c = ', '
            # print header line(s)
            if sized and objs:
                n = len(objs)
                if n > 1:
                    self._printf('%sasized(...%s%s) ...', linesep, c, o, **print3opts)
                    for i in range(n):  # no enumerate in Python 2.2.3
                        self._printf('%*d: %s', w - 1, i, sized[i], **print3opts)
                else:
                    self._printf('%sasized(%s): %s', linesep, o, sized, **print3opts)
            elif sizes and objs:
                self._printf('%sasizesof(...%s%s) ...', linesep, c, o, **print3opts)
                for z, o in zip(sizes, objs):
                    self._printf('%*d bytes%s%s:  %s', w, z, _SI(z), self._incl, self._repr(o), **print3opts)
            else:
                if objs:
                    t = self._repr(objs)
                self._printf('%sasizeof(%s%s%s) ...', linesep, t, c, o, **print3opts)
            # print summary
            self.print_summary(w=w, objs=objs, **print3opts)
            if s > 1:  # print profile
                self.print_profiles(w=w, cutoff=_c100(s), **print3opts)
                if s > 2:  # print typedefs
                    self.print_typedefs(w=w, **print3opts)
Prints the statistics.

        The available options and defaults are:

            *w=0* -- indentation for each line

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

            *opts={}* -- optional, dict of options used

            *sized=()* -- optional, tuple of **Asized** instances returned

            *sizes=()* -- optional, tuple of sizes returned

            *stats=0.0* -- print stats, see function **asizeof**

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