Module (24%)
Section (25%)

Comprobando la existencia de un atributo: continuación

La instrucción try-except te brinda la oportunidad de evitar problemas con propiedades inexistentes.

Es fácil: mira el código en el editor.

Como puedes ver, esta acción no es muy sofisticada. Esencialmente, acabamos de barrer el tema debajo de la alfombra.

Afortunadamente, hay una forma más de hacer frente al problema.


Python proporciona una función que puede verificar con seguridad si algún objeto / clase contiene una propiedad específica. La función se llama hasattr, y espera que le pasen dos argumentos:

  • La clase o el objeto que se verifica.
  • El nombre de la propiedad cuya existencia se debe informar (Nota: debe ser una cadena que contenga el nombre del atributo).

La función retorna True o False.

Así es como puedes utilizarla:

class ClaseEjemplo: def __init__(self, val): if val % 2 != 0: self.a = 1 else: self.b = 1 objetoEjemplo = ClaseEjemplo(1) print(objetoEjemplo.a) if hasattr(objetoEjemplo, 'b'): print(objetoEjemplo.b)

Code

class ClaseEjemplo:
def __init__(self, val):
if val % 2 != 0:
self.a = 1
else:
self.b = 1

objetoEjemplo = ClaseEjemplo(1)
print(objetoEjemplo.a)

try:
print(objetoEjemplo.b)
except AttributeError:
pass
{{ dockerServerErrorMsg }} ×
{{ errorMsg }} ×
{{ successMsg }} ×