En nuestro tutorial anterior aprendimos sobre el comando del sistema de Python . En este tutorial, analizaremos la función getattr() de Python.
Función getattr() de Python
La función getattr() de Python se utiliza para obtener el valor de un atributo de un objeto y, si no se encuentra ningún atributo de ese objeto, se devuelve el valor predeterminado. Básicamente, devolver el valor predeterminado es la razón principal por la que es posible que necesites usar la función getattr() de Python. Por lo tanto, antes de comenzar el tutorial, veamos la sintaxis básica de la función getattr() de Python.
getattr(object_name, attribute_name[, default_value])
Ejemplo de getattr() en Python
En esta sección, aprenderemos a acceder a los valores de los atributos de un objeto mediante getattr()una función. Supongamos que estamos escribiendo una clase llamada Student. Los atributos básicos de la clase Student son student_idy student_name. Ahora crearemos un objeto de la clase Student y accederemos a sus atributos.
class Student: student_id="" student_name="" # initial constructor to set the values def __init__(self): self.student_id = "101" self.student_name = "Adam Lam"student = Student()# get attribute values by using getattr() functionprint('ngetattr : name of the student is =', getattr(student, "student_name"))# but you could access this like thisprint('traditional: name of the student is =', student.student_name)
Entonces, la salida será así
Valor predeterminado de getattr() de Python
En esta sección, utilizaremos la opción de valor predeterminado getattr() de Python. Si desea acceder a cualquier atributo que no pertenece al objeto, puede utilizar la opción de valor predeterminado getattr(). Por ejemplo, si el student_cgpaatributo no está presente para el estudiante, se mostrará un valor predeterminado. En el siguiente ejemplo, veremos un ejemplo de valor predeterminado. También aprenderemos qué sucede si el atributo no está presente y no estamos utilizando la opción de valor predeterminado.
class Student: student_id="" student_name="" # initial constructor to set the values def __init__(self): self.student_id = "101" self.student_name = "Adam Lam"student = Student()# using default value optionprint('Using default value : Cgpa of the student is =', getattr(student, "student_cgpa", 3.00))# without using default valuetry: print('Without default value : Cgpa of the student is =', getattr(student, "student_cgpa"))except AttributeError: print("Attribute is not found :(")
Entonces, después de ejecutar el código, obtendrá un resultado como este
Using default value : Cgpa of the student is = 3.0Attribute is not found :(
Tenga en cuenta que AttributeErrorse genera cuando no se proporciona el valor predeterminado al llamar a la función getattr().
Razón para utilizar la función getattr() de Python
La razón principal para usar getattr() de Python es que podemos obtener el valor usando el nombre del atributo como String. De esta manera, puedes ingresar manualmente el nombre del atributo en tu programa desde la consola. Nuevamente, si no se encuentra un atributo, puedes establecer un valor predeterminado, lo que nos permite completar algunos de nuestros datos incompletos. Además, si tu clase Student está en proceso de desarrollo, podemos usar la función getattr() para completar otro código. Una vez que la clase Student tenga este atributo, lo recogerá automáticamente y no usará el valor predeterminado. Entonces, eso es todo acerca de la función getattr() de Python. Si tienes alguna pregunta sobre esto, usa el cuadro de comentarios a continuación. Referencia: Documentación oficial