Updated July 1, 2023
Introduction to Python getattr
Python getattr is used to get an object attribute value; if no attribute of that object is identified, the default value is returned. The getattr function takes two parameters, the object’s name and the member data’s name. This particular attribute works the same as we do use dot characters. For ex: Name. We only need to pass the name of the object and the name of that particular object variable, which will return the value of that specific object variable.
getattr(object, member_data[, default_parameter])
The third parameter in the getattr method is optional, but adding the third parameter to prevent hard traceback errors in Python is good. If the member data name passed in the getattr doesn’t exist, then Python will return an error; we pass the third parameter to prevent this error.
Examples of Python getattr
Following are the different examples of Python getattr.
class Car: name = "Audi A3"; Price = "13500" print(getattr(Car,'name'))
Explanation: In the above example, we have created a class Car and added two attribute names and prices with their values. We will get the attribute’s values without creating an object using the getattr method. We will pass the class name as the first parameter and the attribute name as the second parameter, and it returns the attribute value of the class. In this example, we are not using any third parameter, as it is optional. The second parameter, i.e., the attribute name, should be a string.
class Car: name = "Audi A3"; Price = "13500" print(getattr(Car,'namee'))
Explanation: In this example, we are trying to pass the attribute name of member data that doesn’t exist in the class, and now Python will return the error, as there is no such attribute in this car.
class Car: name = "Audi A3"; Price = "13500" print(getattr(Car,'namee',0))
Explanation: In this example, we have defined the third parameter, 0, to prevent errors. Now we are passing the attribute name that doesn’t exist, but this time we get the default value instead of the error.
class Car: name = "Audi A3"; Price = "13500" print(Car.name)
Explanation: In the above example, we are using the same problem, but this time, we access the attribute value using the class object using a dot character. It also returns the same result, but if the attribute name doesn’t exist, there is no way to prevent the error. To prevent such an error, we use the getattr method and pass any default value.
class Car: name = "Audi A3"; Price = "13500" @staticmethod def Truck(): return "This is new truck" print(getattr(Car,'Truck')())
Explanation: In the above example, we use a function in our car class. We can also execute our function Truck using the getattr function. We must pass the class name and function name in single quotes and then round the bracket in the last. Round bracket lets you know the getattr function to search for function instead of attribute.
Python getattr method is a handy feature when we have a class and too many attributes, and we are unsure about the attribute name. If we go by the normal method using a dot character, there are many chances of getting an error if the attribute name is not found, so we use the getattr function to overcome that error by a default value.
This is a guide to Python getattr. Here we discuss the Introduction to Python getattr along with different examples and code implementation. You may also have a look at the following articles to learn more –