Python setattr()

In this tutorial, we will learn about the Python setattr() function with the help of examples.

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


class Student:
  marks = 88
  name = 'Sheeran'

person = Student()

# set value of name to Adam setattr(person, 'name', 'Adam')
# 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:',

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


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:',
# setting an attribute not present in Person setattr(p, 'age', 23)
print('Age is:', p.age)


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