Delete properties of a Class Object
Delete Properties of Class Objects
We can delete the property of a class object in Python using del keyword. Write an expression with del keyboard followed by the reference to the property in object.
For example, if object1
is a class object in Python, then to delete its property property1
, use the following syntax.
del object1.property1
You may need to replace object1
with your class object name and property1
with the property name which you would like to delete from the class object.
Example
Let us take an example scenario where we have a class named Person
with two properties: name
, age
.
We create an object person1
of type Person
, with some initial values for its properties: Person('Mike', 22)
and print the details of this class object calling printDetails() function.
Then, we shall delete the property age
for the person1
object using del keyword, and try to call printDetails() function on the person1
object.
Python Program
class Person:
def __init__(self, name="NA", age="0"):
self.name = name
self.age = age
def printDetails(self):
print("Person Details")
print("Name :", self.name)
print("Age :", self.age, end="\n\n")
person1 = Person("Mike", 22)
person1.printDetails()
#for some reason we delete age property
del person1.age
person1.printDetails()
Output
Person Details
Name : Mike
Age : 22
Person Details
Name : Mike
Traceback (most recent call last):
File "/Users/arjun/Desktop/flask_app/main.py", line 16, in <module>
person1.printDetails()
File "/Users/arjun/Desktop/flask_app/main.py", line 9, in printDetails
print("Age :", self.age, end="\n\n")
AttributeError: 'Person' object has no attribute 'age'
When we printed out the person details for the first time we have the age
property in the object. But when we tried to print the details of the person object the second time, we have already deleted the age
property. Therefore, trying to access the property which is not present in the object raised AttributeError.
Summary
In this Python Classes and Objects tutorial, we learned how to delete properties of a class object.