Python Hasattr

Python Hasattr
Python es un idioma inglés de alto nivel, avanzado, como la sintaxis, el lenguaje de programación fácil de aprender. Tiene varios tipos de funciones, métodos, en su mayoría incorporados, mientras que algunos se pueden diseñar en tiempo de ejecución. HASATTR () es la función de utilidad incorporada de Python abreviada como 'tiene un atributo.'Se puede usar con clases definidas por el usuario. Determina si un objeto tiene o no un atributo específico. Por ejemplo, devuelve verdadero si un cierto objeto tiene el atributo especificado, mientras devuelve falso si no tiene un objeto especificado. La sintaxis de Hasattr () es Hasattr (objeto, atributo).

El hasattr () es la función misma, 'objeto' se refiere al objeto requerido, 'atributo' se refiere al nombre del atributo especificado que debe verificarse. Si el 'objeto' tiene el 'atributo', hasattr () devolverá verdadero más, devolverá falso. La función Hasattr () proporciona una mejor legibilidad en comparación con otros métodos de Python convencionales utilizados para verificar el valor del atributo. También es útil para verificar las claves para ignorar los errores innecesarios encontrados al verificar las teclas de ausencia. Con la ayuda de ejemplos, aprenderemos cómo emplear el método Hasattr () del idioma Python en este artículo. Podrá utilizar de manera efectiva la función Hasattr () en sus scripts al final de este artículo. Comencemos con una ilustración básica.

Ejemplo 1:

En el primer ejemplo, definiremos una clase simple que contenga el nombre de un estudiante y la clase en la que el estudiante estudia. Después de eso, verificaremos los atributos de la clase con la función Hasattr (). Se crea una clase definida por el usuario con el nombre 'estudiante', el primer atributo es 'clase' y tiene valor '5', mientras que el segundo atributo es 'nombre' y tiene valor 'tylor.'El siguiente paso es verificar los atributos de la clase con la función Hasattr (). Primero, hemos verificado el atributo 'Nombre' de la clase, luego el atributo 'Clase' y luego el atributo 'Fathername'. Aquí puede ver el código.

Estudiante de clase:
Clase = 5
Nombre = 'Tylor'
Estudiante = estudiante ()
Imprimir ('El nombre del estudiante es:', Hasattr (estudiante, 'nombre'))
print ('La clase de estudiante es:', Hasattr (estudiante, 'clase'))
Print ('El nombre del padre del estudiante es:', Hasattr (estudiante, 'fathername'))

La salida del código anterior es el siguiente:

Si observa que las dos primeras salidas son verdaderas.'En contraste, la última salida es' falsa.'Como se discutió anteriormente, el hasSttr () devolverá' verdadero ', si un objeto especificado tiene un cierto objeto especificado. Por el contrario, devuelve 'falso' si cierto objeto no tiene un cierto objeto especificado. La clase 'estudiante' tiene dos atributos, 'clase,', nombre ', mientras no tiene el atributo' fathername ', por lo que la función Hasattr () devuelve' falso 'en este caso.

Ejemplo 2:

Veamos algunos programas complicados pero estructurados para familiarizarse con la funcionalidad de la función Hasattr (). Aquí, definimos una clase usando la función def_init_ (). La clase nuevamente está compuesta por los datos de los estudiantes. Tiene dos atributos, 'rollno' y 'grados.'Los datos se proporcionan a ambos atributos de la clase llamando al nombre de la clase; estudiante (35, 'm'), donde '35' es el 'rollno' y 'm' es el grado del estudiante. Más tarde, agregamos otro atributo en la clase: la edad del estudiante. Esto podemos lograr creando otra instancia de la clase con otro nombre especificado; Por ejemplo, Student1 = Student () y Student1.edad = 9. Consulte el código que se proporciona a continuación para obtener una comprensión clara del programa.

Estudiante de clase:
def __init __ (Selff, Rollno, Grados):
self.Rollno = Rollno
self.calificaciones = calificaciones
DISPLACIÓN DEF (Selff):
imprimir ("El número de rollo es:", Selff.Rollno)
imprimir ("La calificación es:", Selff.Los grados)
estudiante1 = estudiante (35, 'm')
estudiante1.edad = 9
Impresión (Hasattr (Student1, 'Age'))

La salida del código anterior es el siguiente:

Como puede ver, la función Hasattr () ha devuelto 'verdadero' desde que el atributo 'edad' se agrega a la clase en pasos posteriores.

Ejemplo 3:

Tengamos un análisis de rendimiento de la función Hasattr () en comparación con la declaración de prueba. En este ejemplo, veremos cuál es mejor, la función Hasattr () o la declaración de prueba del lenguaje de Python. Veamos primero el código y la salida, y luego veremos cuál es mejor que el otro.

tiempo de importación
Comparación de clase:
nombre = "Hasattribute"
tiempo = 5
comp = comparación ()
starthasattr = tiempo.tiempo()
if (hasattr (comp, 'time')):
Imprimir ("El tiempo está ahí")
demás:
Imprimir ("No hay tiempo")
imprimir ("El Hasattr () se ha tomado el tiempo de ejecutar:" + STR (tiempo.Time () - Starthasattr))
starttry = tiempo.tiempo()
intentar:
impresión (comp.tiempo)
Imprimir ("El tiempo está ahí")
Excepto AttributeerRor:
Imprimir ("No hay tiempo")
Imprimir ("La declaración de prueba se ha tomado el tiempo de ejecutar:" + STR (tiempo.TIME () - StartTry))

Como puede ver, la clase 'comparación' tiene dos atributos, 'nombre' y 'tiempo.'Primero, hemos implementado la función Hasattr () para verificar si la clase' Comparación 'tiene el atributo' tiempo 'o no. Luego hemos verificado el tiempo de ejecución de ambas funciones de Hasattr () e intenten la declaración con la ayuda de la función Time (). La salida del código anterior se proporciona a continuación:

Tenga en cuenta que hasattr () devolvió 'falso', sin embargo, la clase 'comparación' tiene el tiempo de atributo '.'El punto clave a notar aquí es que hemos pasado' tiempo 'en Hasattr () mientras que la clase de' comparación 'tiene atributo' tiempo '. Python es un lenguaje sensible a los casos, por lo que el "tiempo" y el "tiempo" son dos atributos diferentes. Además, si ve el tiempo de ejecución, notará que la declaración de prueba es más rápida que la función Hasattr (). Sin embargo, la función Hasattr () proporciona una mejor legibilidad, por lo que todavía se prefiere Hasattr () sobre la declaración de prueba.

Conclusión:

Aprendimos sobre la función incorporada de Python Hasattr () en este artículo. Con la ayuda de ejemplos simples y complejos, hemos aprendido cómo implementar la función Hasattr () en nuestros programas. Además, hemos comparado el tiempo de ejecución de HASATTR () con la instrucción TRY, que demostró que aunque la instrucción TRY es rápida, la función Hasattr () se prefiere debido a su mejorabilidad mejorada.