I have below code:
class Parent():
def __init__(self,name):
self.name = name
def printing(self):
print(self.name)
class Child (Parent):
def __init__(self,name,country):
Parent.name = 'Roger'
self.name = name
self.country = country
def Output(self):
print(Parent.name,self.name,self.country)
obj = Child('Rafael','France')
Now, obj.Output() returns: Roger Rafael France
and obj.printname() returns: Rafael
Can anybody please explain why assigning Parent.name = 'Roger' didn't change it in the parent class? Want to understand why `Parent.name' is not getting overridden.