La función Python hasattr() es una función de utilidad incorporada, que se utiliza para verificar si un objeto tiene el atributo con nombre dado y devolver verdadero si está presente, de lo contrario, falso. En este artículo veremos cómo verificar si un objeto tiene un atributo en Python .
Sintaxis de la función hasattr()
Sintaxis: hasattr(obj, clave)
Parámetros:
- obj : El objeto cuyo atributo debe verificarse.
- clave: atributo que debe verificarse.
Devuelve: Devuelve Verdadero, si el atributo está presente, de lo contrario devuelve Falso.
Ejemplo 1: ejemplo de la función Python hasattr()
Aquí comprobaremos si un objeto tiene un atributo , para encontrar los atributos del objeto en python hemos demostrado el siguiente código.
Python3
# declaring class class GfG: name = "GeeksforGeeks" age = 24 # initializing object obj = GfG() # using hasattr() to check name print("Does name exist ? " + str(hasattr(obj, 'name'))) # using hasattr() to check motto print("Does motto exist ? " + str(hasattr(obj, 'motto')))
Producción:
Does name exist ? True Does motto exist ? False
Ejemplo 2: análisis de rendimiento entre el método hasattr() y la declaración de prueba
Estas son las formas simples de verificar si un objeto tiene un atributo en Python o no usa el análisis de rendimiento entre la función hasattr() y la declaración de prueba.
Python3
import time # declaring class class GfG: name = "GeeksforGeeks" age = 24 # initializing object obj = GfG() # use of hasattr to check motto start_hasattr = time.time() if(hasattr(obj, 'motto')): print("Motto is there") else: print("No Motto") print("Time to execute hasattr : " + str(time.time() - start_hasattr)) # use of try/except to check motto start_try = time.time() try: print(obj.motto) print("Motto is there") except AttributeError: print("No Motto") print("Time to execute try : " + str(time.time() - start_try))
Producción:
No Motto Time to execute hasattr : 5.245208740234375e-06 No Motto Time to execute try : 2.6226043701171875e-06
Resultado: Try/except convencional toma menos tiempo que hasattr(), pero para la legibilidad del código, hasattr() siempre es una mejor opción.
Aplicaciones: Esta función se puede utilizar para comprobar las claves para evitar errores innecesarios en caso de acceder a claves ausentes. El enstringmiento de hasattr() se usa a veces para evitar la entrada de un atributo asociado si el otro no está presente.
Publicación traducida automáticamente
Artículo escrito por manjeet_04 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA