Just frustrated, why the output is
Broken = 2 and Wierd = 3 at one level make no sense, since after all you would think that if you referenced a member variable it’s context would remain the same…
class Foo :
BROKEN = 1
WIERD = 1
def __init__(self) :
print('Before broken=%d weird=%d' %( self.BROKEN, self.WIERD))
self.BROKEN += 1
self.__class__.WIERD += 1
print('after broken=%d weird=%d' %( self.BROKEN, self.WIERD))
Foo()
Foo()
# Output is :
# Before broken=1 weird=1
# after broken=2 weird=2
# Before broken=1 weird=2
# after broken=2 weird=3