code 1:
class car:
name=“bmw”
def init(self,name):
self.name=name
def print(self,name):
print(self.name)
a=car(“mercedes”)
a.print(“ferrari”)
Code 2:
class car:
name=“bmw”
def init(self,name):
print(self.name)
a=car(“mercedes”)
In code 1, we can say that when i am declaring an object, i passed mercedes in it so it is considering mercedes as the name everywhere even if i am calling print method and giving argument ferrari, as mercedes is initialized by init.
Now, in code 2, when I am making an object i gave the argument as mercedes but it is taking name as the globally defined name, which didn’t happen previously.
please explain this concept?
