I wrote codes as follow:
class a:
e = [1,2,3]
def __init__(self):
self.name = 'Adam'
b = a()
c = a()
if b.e is c.e:
print('they are same')
the outcome is:
they are same
It shows that b.e and c.e point to the same object. And if I use id(a)
, it would return me an address in memory, showing that a
has been created as an object.
When I want to creat an instance like b=a()
, codes in the __init__()
are excuted. But I am confused that when and how e
(or other members like other methods) is bound to the instance? (Actually in __init__()
there is no lines like "let's bind e
to this instance")