#!/usr/bin/python3
# ====================================================================
#see: www.youtube.com/watch?v=0hrEaA3N3lk
#     Every Python dev falls for this (name mangling) 
# ====================================================================
class A:
    count   = 2
    _count  = 3
    __count = 4
    
    def __init__(self,x,y,z):
        self.count   = x
        self._count  = y
        self.__count = z
print()
print('----raw A------------------------------------------')
print('class A')
print(A.__dict__)
print()
print('====create object a1=2000==========================')
a1 = A(2000,3000,4000)
print()
print('a1(2000,3000,4000)  # obj created')
print()
print('----step 1-----------------------------------------')
print('class A')
print(A.__dict__)
print('----step 2-----------------------------------------')
print('object a1')
print(a1.__dict__)
a1.count   = -200
a1._count  = -300
a1.__count = -400
print()
print('a1.count  =-200')
print('a1._count =-300')
print('a1.__count=-400')
print()
print('----step 3-----------------------------------------')
print('class A')
print(A.__dict__)
print('----step 4-----------------------------------------')
print('object a1')
print(a1.__dict__)
print('---------------------------------------------------')