How to determine if a given object is an instance of a buil-in type/class

6 Aufrufe
Direkt zur ersten ungelesenen Nachricht

German Larrain

ungelesen,
22.07.2013, 14:57:0522.07.13
an pytho...@googlegroups.com
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 built-in 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__'

Lo postié en una vieja pregunta de SO http://stackoverflow.com/a/17795199/556413
Allen antworten
Antwort an Autor
Weiterleiten
0 neue Nachrichten