Python namespace represents a memory block where names are mapped (or linked) to objects. Suppose we write:
n = 10
Here, 'n' is the name given to the integer object 10. Please recollect that numbers, strings, lists etc. are all considered as objects in Python. The name 'n' is linked to 10 in the namespace.
A class maintains its own namespace, called 'class namespace'. In the class namespace, the names are mapped to class variables. Similarly, every instance will have its own name space, called 'instance namespace'. In the instance namespace, the names are mapped to instance variables.
class Student: n=10
Modifying the class variable in the instance namespace
class Student: n=10 s1 = Student() s2 = Student() print(s1.n) #displays 10 s1.n+=1 #modify it in s1 instance namespace print(s1.n) #displays 11 print(s2.n)