The following code successfully prints OK :
class B(object): def __init__(self): super(B, self).__init__() print 'OK' class A(object): def __init__(self): self.B() B = B A()
but the following, which should work the same as above, raises a NameError: global name 'B' is not defined
class A(object): def __init__(self): self.B() class B(object): def __init__(self): super(B, self).__init__() print 'OK' A()
why?
source share