As written `tableid` can really be *anything* with a `__str__` method that works.  Somehow it would make more sense to me to have the default here be `None`, in which case `tableid` would be set to `id(table)`.  Currently in `_repr_html_` you always get `id(self)` as the table id, so it would be more consistent to have the same default behavior in `pformat`.