Si bien en general en Python no es correcto andar preguntando mucho sobre los tipos de los objetos, en algún caso puede ser necesario saber si un objeco es una instancia de una clase
de Python.
Me cabeceé un rato para dar con la forma correcta. Creo que es: obj.__class__.__module__ == '__builtin__', y como función:
def is_builtin_class_instance(obj):
"""Return whether ``obj`` is an instance of a buit-in class.
.. warning::
If ``obj`` is a class and not an instance, no matter if that class is
built-in or not, True will be returned since a class is also an object,
an instance of ``type``, i.e. ``AnyClass.__class__`` is ``type``.
:param obj:
:return: True is ``obj``'s class module is ``'__builtin__'``
"""
return obj.__class__.__module__ == '__builtin__'