Introduction to Python getattr
Python getattr is used to get an object attribute value, and if no attribute of that object is identified, the default value is returned. The getattr function takes two parameters, the name of the object and the name of the member data. This particular attribute works the same as we do use dot character. For ex: Name. We only need to pass the name of the object and the name of that particular object variable and it will return the value of that particular object variable.
Syntax:
getattr(object, member_data[, default_parameter])
The third parameter in the getattr method is optional, but it is a good practice to add the third parameter to prevent hard traceback error in python. If the member data-name passed in the getattr doesn’t exist then python will return an error, to prevent this error we pass the third parameter.
Examples of Python getattr
Following are the different examples of python getattr.
Example #1
Code:
class Car:
name = "Audi A3";
Price = "13500"
print(getattr(Car,'name'))
Output:
Explanation: In the above example, we have created a class Car and added two attribute names and prices with their values. Now we will get the values of the attribute without creating an object using getattr method. We will pass the class name as the first parameter and 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 is the attribute name should be a string.
Example #2
Code:
class Car:
name = "Audi A3";
Price = "13500"
print(getattr(Car,'namee'))
Output:
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 their no such attribute in this car.
4.8 (8,010 ratings)
View Course
Example #3
Code:
class Car:
name = "Audi A3";
Price = "13500"
print(getattr(Car,'namee',0))
Output:
Explanation: In this example, we have defined the third parameter 0, to prevent any kind of error. Now we are passing the attribute name that doesn’t exist, but this time we get the default value instead of the error.
Example #4
Code:
class Car:
name = "Audi A3";
Price = "13500"
print(Car.name)
Output:
Explanation: In the above example we are using the same problem but this time we access the attribute value using class object using dot character. It is also returning the same result but in case if the attribute name doesn’t exist there is no way to prevent the error, to prevent such error we make use of getattr method and pass any default value.
Example #5
Code:
class Car:
name = "Audi A3";
Price = "13500"
@staticmethod
def Truck():
return "This is new truck"
print(getattr(Car,'Truck')())
Output:
Explanation: In the above example, we are using a function inside our car class. We can also execute our function Truck using getattr function. We need to pass the class name and function name in single quotes and then round bracket in the last. Round bracket let know the getattr function to search for function instead of attribute.
Conclusion
Python getattr method is a very useful feature when we have a class and too many attributes and we are not sure about attribute name. If we go by the normal method using dot character then there are lots of chances of getting an error if the attribute name is not found so that’s why we use getattr function to overcome that error by a default value.
Recommended Articles
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 –