Preguntas etiquetadas con getattr


14
¿Qué es getattr () exactamente y cómo lo uso?
Recientemente leí sobre la getattr()función . El problema es que todavía no puedo entender la idea de su uso. Lo único que entiendo getattr()es que getattr(li, "pop")es lo mismo que llamar li.pop. No entendí cuando el libro mencionó cómo lo usas para obtener una referencia a una función sin saber …
295 python  getattr 

4
Comprender la diferencia entre __getattr__ y __getattribute__
Estoy tratando de entender la diferencia __getattr__y __getattribute__, sin embargo, no lo estoy logrando. La respuesta a la pregunta de desbordamiento de pila Diferencia entre __getattr__vs__getattribute__ dice: __getattribute__se invoca antes de mirar los atributos reales en el objeto, por lo que puede ser complicado implementarlo correctamente. Puede terminar en infinitas …


4
¿Cómo llamo a setattr () en el módulo actual?
¿Qué paso como primer parámetro " object" a la función setattr(object, name, value), para establecer variables en el módulo actual? Por ejemplo: setattr(object, "SOME_CONSTANT", 42); dando el mismo efecto que: SOME_CONSTANT = 42 dentro del módulo que contiene estas líneas (con el correcto object). Genero varios valores a nivel de …

8
__getattr__ en un módulo
¿Cómo se puede implementar el equivalente de a __getattr__en una clase, en un módulo? Ejemplo Al llamar a una función que no existe en los atributos estáticamente definidos de un módulo, deseo crear una instancia de una clase en ese módulo e invocar el método con el mismo nombre que …

6
¿Cómo implemento __getattribute__ sin un error de recursividad infinita?
Quiero anular el acceso a una variable en una clase, pero devolver todas las demás normalmente. ¿Cómo logro esto con __getattribute__? Intenté lo siguiente (que también debería ilustrar lo que estoy tratando de hacer) pero obtengo un error de recursividad: class D(object): def __init__(self): self.test=20 self.test2=21 def __getattribute__(self,name): if name=='test': …
100 python  class  oop  recursion  getattr 
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.