The getattr()
method returns the value of the named attribute of an object. If not found, it returns the default value provided to the function.
Example
class Student:
marks = 88
name = 'Sheeran'
person = Student()
name = getattr(person, 'name')
print(name)
marks = getattr(person, 'marks')
print(marks)
# Output:
# Sheeran
# 88
getattr() Syntax
The syntax of getattr()
method is:
getattr(object, name[, default])
The above syntax is equivalent to:
object.name
getattr() Parameters
getattr()
method takes multiple parameters:
- object - object whose named attribute's value is to be returned
- name - string that contains the attribute's name
- default (Optional) - value that is returned when the named attribute is not found
getattr() Return Value
getattr()
method returns:
- value of the named attribute of the given object
default
, if no named attribute is foundAttributeError
exception, if named attribute is not found anddefault
is not defined
Example 1: How getattr() works in Python?
class Person:
age = 23
name = "Adam"
person = Person()
print('The age is:', getattr(person, "age"))
print('The age is:', person.age)
Output
The age is: 23 The age is: 23
Example 2: getattr() when named attribute is not found
class Person:
age = 23
name = "Adam"
person = Person()
# when default value is provided
print('The sex is:', getattr(person, 'sex', 'Male'))
# when no default value is provided
print('The sex is:', getattr(person, 'sex'))
Output
The sex is: Male AttributeError: 'Person' object has no attribute 'sex'
The named attribute sex is not present in the class Person. So, when calling getattr()
method with a default value Male
, it returns Male.
But, if we don't provide any default value, when the named attribute sex is not found, it raises an AttributeError
saying the object has no sex attribute.
Also Read: