We can delete objects or variables in Python by using del keyword.
Deleting an object
Here is a class declaration with one method to display welcome message. Outside the class we are declaring object and displaying the message by using the register method. Once the object is deleted by del then same method will generate NameError as the object is no longer available.
class student_kit():
def register(self,name):# method declaration
self.name=name
print("Welcome:",self.name)
s1=student_kit() # object declaration
s1.register('Alex')
del s1
s1.register('Ron') # NameError
The last line in above code will generate error. We can use try except error handling to manage the error.
class student_kit():
def register(self,name):# method declaration
self.name=name
print("Welcome:",self.name)
try:
s1=student_kit() # object declaration
s1.register('Alex')
del s1
s1.register('Ron') # NameError
except NameError as my_msg:
print ("This is a NameError")
print(my_msg)
except:
print ("Some other error has occurred")
Output
Welcome: Alex
This is a NameError
name 's1' is not defined
Her we have deleted the object of a user defined class. In python everything is an object so del can delete list, dictionary, variable etc.
a=6
try:
print(a) # 6
del a
print(a) # error
except NameError as my_msg:
print ("This is a NameError")
print(my_msg)
except:
print ("Some other error has occured")