Unlock the Power of getattr() in Python
What is getattr()?
The getattr() method is a powerful tool in Python that allows you to retrieve the value of a named attribute from an object. But that’s not all – it also provides a default value if the attribute is not found.
The Syntax
The syntax of getattr() is straightforward: getattr(object, name[, default])
. This is equivalent to object.name
if the attribute exists, and default
if it doesn’t.
Understanding the Parameters
The getattr() method takes three parameters:
- object: The object whose named attribute’s value you want to retrieve.
- name: A string containing the attribute’s name.
- default (optional): The value to return if the named attribute is not found.
Return Values
The getattr() method returns one of three values:
- The value of the named attribute from the given object.
- The default value if the named attribute is not found.
- An AttributeError exception if the named attribute is not found and no default value is provided.
Example 1: How getattr() Works
Let’s create a simple class Person
with an attribute age
. We can use getattr() to retrieve the value of age
:
“`
class Person:
age = 25
person = Person()
print(getattr(person, ‘age’)) # Output: 25
“`
Example 2: Handling Missing Attributes
What if we try to retrieve an attribute that doesn’t exist? Let’s add a default value to avoid an AttributeError:
“`
class Person:
pass
person = Person()
print(getattr(person, ‘ex’, ‘Male’)) # Output: Male
But what if we don't provide a default value?
print(getattr(person, ‘ex’)) # Raises AttributeError: ‘Person’ object has no attribute ‘ex’
“`
Related Functions
getattr() is part of a trio of attribute-related functions in Python:
- setattr(): Sets the value of a named attribute.
- hasattr(): Checks if an object has a named attribute.
- delattr(): Deletes a named attribute.
Mastering these functions will take your Python skills to the next level!