Why this works
class A():
def __init__(self):
self.B = self.__B__()
class __B__():
def __init__(self):
pass
def speak(self):
print("Hi, I'm B")
def speak(self):
print("Hi, I'm A")
And this works:
class A():
def __init__(self):
super(A, self).__init__()
def speak(self):
print("Hi, I'm A")
But this doesn't?
class A():
def __init__(self):
super(A,self).__init__()
self.B = self.__B__()
class __B__():
def __init__(self):
super(__B__,self).__init__()
def speak(self):
print("Hi, I'm B")
def speak(self):
print("Hi, I'm A")
And I get the message that __B__
does not exists. Also, what does super(ClassName,self).__init__()
do and why should/shouldn't use it?