Python setattr()

The setattr() function sets the value of the attribute of an object.

Example

class Student:
  marks = 88
  name = 'Sheeran'

person = Student()

# set value of name to Adam setattr(person, 'name', 'Adam')
print(person.name)
# set value of marks to 78 setattr(person, 'marks', 78)
print(person.marks) # Output: Adam # 78

setattr() Syntax

The syntax of the setattr() function is:

setattr(object, name, value)

If you want to get the attribute of an object, use getattr().


setattr() Parameters

The setattr() function takes three parameters:

  • object - object whose attribute has to be set
  • name - attribute name
  • value - value given to the attribute

setattr() Return Value

The setattr() method returns None.


Example 1: How setattr() works in Python?

class Person:
    name = 'Adam'
    
p = Person()
print('Before modification:', p.name)

# setting name to 'John' setattr(p, 'name', 'John')
print('After modification:', p.name)

Output

Before modification: Adam
After modification: John

Example 2: When the attribute is not found in setattr()

If the attribute is not found, setattr() creates a new attribute an assigns value to it. However, this is only possible if the object implements the __dict__() method.

You can check all the attributes of an object by using the dir() function.

class Person:
    name = 'Adam'
    
p = Person()

# setting attribute name to John setattr(p, 'name', 'John')
print('Name is:', p.name)
# setting an attribute not present in Person setattr(p, 'age', 23)
print('Age is:', p.age)

Output

Name is: John
Age is: 23
Did you find this article helpful?