Python - Librería Types

#1. Comprobar si un objeto es una instancia de una clase: import types class MiClase: pass objeto = MiClase() print(isinstance(objeto, types.InstanceType)) #2. Comprobar si un objeto es una función: import types def mi_funcion(): pass print(isinstance(mi_funcion, types.FunctionType)) #3. Comprobar si un objeto es un método: import types class MiClase: def mi_metodo(self): pass objeto = MiClase() print(isinstance(objeto.mi_metodo, types.MethodType)) #4. Comprobar si un objeto es una clase: import types class MiClase: pass print(isinstance(MiClase, types.ClassType)) #5. Comprobar si un objeto es un módulo: import types import math print(isinstance(math, types.ModuleType)) #6. Comprobar si un objeto es un generador: import types def mi_generador(): yield 1 yield 2 yield 3 objeto = mi_generador() print(isinstance(objeto, types.GeneratorType)) #7. Comprobar si un objeto es un código compilado: import types def mi_funcion(): pass codigo_compilado = mi_funcion.__code__ print(isinstance(codigo_compilado, types.CodeType)) #8. Comprobar si un objeto es una traza de pila: import types import traceback try: raise Exception("Error") except: traza_de_pila = traceback.extract_stack() print(isinstance(traza_de_pila, types.TracebackType)) #9. Comprobar si un objeto es un marco de pila: import types import traceback def mi_funcion(): traza_de_pila = traceback.extract_stack() marco_de_pila = traza_de_pila[-2] return marco_de_pila print(isinstance(mi_funcion(), types.FrameType)) #10. Comprobar si un objeto es un diccionario de variables locales: import types def mi_funcion(): variable_local = "Hola" print(isinstance(locals(), types.DictionaryType)) mi_funcion() #11. Comprobar si un objeto es un diccionario de variables globales: import types variable_global = "Hola" print(isinstance(globals(), types.DictionaryType)) #12. Comprobar si un objeto es un diccionario de variables de clase: import types class MiClase: variable_de_clase = "Hola" print(isinstance(MiClase.__dict__, types.DictionaryType)) #13. Comprobar si un objeto es un diccionario de variables de instancia: import types class MiClase: def __init__(self): self.variable_de_instancia = "Hola" objeto = MiClase() print(isinstance(objeto.__dict__, types.DictionaryType)) #14. Comprobar si un objeto es un diccionario de métodos: import types class MiClase: def mi_metodo(self): pass print(isinstance(MiClase.__dict__, types.DictionaryType)) #15. Comprobar si un objeto es un diccionario de funciones: import types def mi_funcion(): pass print(isinstance(mi_funcion.__globals__, types.DictionaryType)) #16. Comprobar si un objeto es un diccionario de módulos: import types import math print(isinstance(math.__dict__, types.DictionaryType)) #17. Comprobar si un objeto es un diccionario de excepciones: import types print(isinstance(Exception.__dict__, types.DictionaryType)) #18. Comprobar si un objeto es un diccionario de tipos: import types class MiClase: pass print(isinstance(MiClase.__dict__, types.DictionaryType))

Geogebra Python