we are overriding the 'classyclass attribute in the instance dd when it' overriddenthe python interpreter reads the overridden value but once the new value is deleted with 'del'the overridden value is no longer present in the instanceand hence the lookup goes level above and gets it from the class working with class and instance data in this sectionlet us understand how the class data relates to the instance data we can store data either in class or in an instance when we design classwe decide which data belongs to the instance and which data should be stored into the overall class an instance can access the class data if we create multiple instancesthen these instances can access their individual attribute values as well the overall class data thusa class data is the data that is shared among all the instances observe the code given below for better undersandingclass instancecounter(object)count instances class attributewill be accessible to all def __init__(selfval)self val val instancecounter count += accessible through class name increment the value of class attributein above lineclass ('instancecounter'act as an object def set_val(selfnewval)self val newval def get_val(self)return self val def get_count(self)return instancecounter count instancecounter( instancecounter( instancecounter( for obj in (abc)print ('val of obj% %(obj get_val())initialized value print ('count% %(obj get_count())always