subclases privados poo objeto metodos instanciar herencia clase atributos python attributes

privados - Un método get() para verificar los atributos de Python



self python 3 (3)

Para verificar si una clave está en un diccionario, puede usarla in : ''key'' in dictionary .

Para verificar los atributos en el objeto use la función hasattr() : hasattr(obj, ''attribute'')

Si tuviera un dict diccionario y quisiera verificar si hay dict[''key''] , podría hacerlo en un bloque try (bleh!) O usar el método get() , con False como valor predeterminado.

Me gustaría hacer lo mismo para object.attribute . Es decir, ya tengo el objetivo de devolver False si no se ha establecido, pero eso me da errores como

AttributeError: el objeto ''bool'' no tiene atributo ''atributo''


¿Quieres decir hasattr() tal vez?

hasattr(object, "attribute name") #Returns True or False

Python.org doc - Funciones integradas - hasattr ()

También puede hacer esto, que es un poco más desordenado y no funciona para los métodos.

"attribute" in obj.__dict__


Un análogo más directo a dict.get(key, default) que hasattr es getattr .

val = getattr(obj, ''attr_to_check'', default_value)

(Donde default_value es opcional, levantando una excepción en ningún atributo si no se encuentra).

Para su ejemplo, pasaría False .