Python delattr()

The delattr() deletes an attribute from the object (if the object allows it).

The syntax of delattr() is:

delattr(object, name)

delattr() Parameters

The delattr() takes two parameters:

  • object - the object from which name attribute is to be removed
  • name -  a string which must be the name of the attribute to be removed from the object

Return Value from delattr()

The delattr() doesn't return any value (returns None). It only removes an attribute (if object allows it).


Example 1: How delattr() works?

class Coordinate:
  x = 10
  y = -5
  z = 0

point1 = Coordinate() 

print('x = ',point1.x)
print('y = ',point1.y)
print('z = ',point1.z)

delattr(Coordinate, 'z')

print('--After deleting z attribute--')
print('x = ',point1.x)
print('y = ',point1.y)

# Raises Error
print('z = ',point1.z)

When you run the program, the output will be:

x =  10
y =  -5
z =  0
--After deleting z attribute--
x =  10
y =  -5
Traceback (most recent call last):
  File "python", line 19, in <module>
AttributeError: 'Coordinate' object has no attribute 'z'

Here, the attribute z is removed from the Coordinate class using delattr(Coordinate, 'z').


Example 2: Deleting Attribute Using del Operator

You can also delete attribute of an object using del operator.

class Coordinate:
  x = 10
  y = -5
  z = 0

point1 = Coordinate() 

print('x = ',point1.x)
print('y = ',point1.y)
print('z = ',point1.z)

# Deleting attribute z
del Coordinate.z

print('--After deleting z attribute--')
print('x = ',point1.x)
print('y = ',point1.y)

# Raises Attribute Error
print('z = ',point1.z)

The output of the program will be same as above.