Manufactura industrial
Internet industrial de las cosas | Materiales industriales | Mantenimiento y reparación de equipos | Programación industrial |
home  MfgRobots >> Manufactura industrial >  >> Industrial programming >> python

Explorando clases y objetos anónimos en Python

La función type() incorporada de Python devuelve la clase a la que pertenece un objeto. En Python, una clase, tanto una clase incorporada como una clase definida por el usuario, son objetos de tipo clase.

Ejemplo

class myclass:
 def __init__(self):
 self.myvar=10
 return
 
obj = myclass()
print ('class of int', type(int))
print ('class of list', type(list))
print ('class of dict', type(dict))
print ('class of myclass', type(myclass))
print ('class of obj', type(obj))

Producirá el siguiente resultado:

class of int <class 'type'>
class of list <class 'type'>
class of dict <class 'type'>
class of myclass <class 'type'>

El tipo() tiene una versión de tres argumentos como sigue:

Sintaxis

newclass=type(name, bases, dict)

Usando la sintaxis anterior, se puede crear una clase dinámicamente. Tres argumentos de tipo función son −

Crear una clase anónima

Podemos crear una clase anónima con la versión anterior de la función type(). El argumento del nombre es una cadena nula, el segundo argumento es una tupla de una clase, la clase de objeto (tenga en cuenta que cada clase en Python se hereda de la clase de objeto). Agregamos ciertas variables de instancia como el tercer diccionario de argumentos. Lo mantenemos vacío por ahora.

anon=type('', (object, ), {})

Crear un objeto anónimo

Para crear un objeto de esta clase anónima −

obj = anon()
print ("type of obj:", type(obj))

El resultado muestra que el objeto es de clase anónima

type of obj: <class '__main__.'>

Ejemplo de clase y objeto anónimo

También podemos agregar variables de instancia y métodos de instancia dinámicamente. Eche un vistazo a este ejemplo:

def getA(self):
 return self.a
obj = type('',(object,),{'a':5,'b':6,'c':7,'getA':getA,'getB':lambda self : self.b})()
print (obj.getA(), obj.getB())

Producirá el siguiente resultado:

5 6

python

  1. Manejo de excepciones de Python Uso de la instrucción try, except y finalmente
  2. Use el guión bajo en el REPL
  3. Python - E/S de archivos
  4. Diccionario de Python
  5. Python vs JavaScript:diferencia entre JavaScript y Python
  6. Lista de Python
  7. Python - Tuplas
  8. Declaración Python Print():cómo imprimir con ejemplos
  9. Python - Manejo de excepciones
  10. Python - Cadenas
  11. Depurador de Python:mejore sin esfuerzo sus habilidades de depuración