Los atributos dinámicos en Python son terminologías para atributos que se definen en tiempo de ejecución , después de crear los objetos o instancias. En Python llamamos a todas las funciones, métodos también como un objeto. Entonces puede definir un atributo de instancia dinámica para casi cualquier cosa en Python. Considere el siguiente ejemplo para una mejor comprensión sobre el tema.
Ejemplo 1:
class GFG: None def value(): return 10 # Driver Code g = GFG() # Dynamic attribute of a # class object g.d1 = value # Dynamic attribute of a # function value.d1 = "Geeks" print(value.d1) print(g.d1() == value())
Producción:
Geeks True
Ahora, el programa anterior parece ser confuso, pero tratemos de entenderlo. En primer lugar, veamos los objetos, g y valor (las funciones también se consideran objetos en Python) son los dos objetos. Aquí el atributo dinámico para ambos objetos es «d1». Esto se define en tiempo de ejecución y no en tiempo de compilación como atributos estáticos.
Nota: La clase “GFG” y todos los demás objetos o instancias de esta clase no conocen el atributo “d1”. Solo se define para la instancia “g”.
Ejemplo 2:
class GFG: employee = True # Driver Code e1 = GFG() e2 = GFG() e1.employee = False e2.name = "Nikhil" print(e1.employee) print(e2.employee) print(e2.name) # this will raise an error # as name is a dynamic attribute # created only for the e2 object print(e1.name)
Producción:
False True Nikhil
Traceback (most recent call last): File "/home/fbcfcf668619b24bb8ace68e3c400bc6.py", line 19, inprint(e1.name) AttributeError: 'GFG' object has no attribute 'name'
Publicación traducida automáticamente
Artículo escrito por rutujakawade24 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA