Я озадачен со следующей ошибкой в питоне 2.7.12 Пусть у нас есть определение класса внутри класса, что-то похожего на это:Использования супер внутри вложенного класс
class C(object):
def __init__(self):
print "class C"
class D(object):
def __init__(self):
print "class D"
class A(D):
class B(C):
def __init__(self):
# Strangely here B is "not defined", why?
super(B, self).__init__()
print "class B"
def __init__(self):
super(D, self).__init__()
print "class A"
def do_something(self):
b_class = self.B()
print "b_class within A : {}".format(b_class)
a_class = A()
a_class.do_something()
но если мы выделим определение класса B
за пределами класса A
, все работает хорошо.
Нужно ли использовать «супер» по-разному при вызове внутри вложенного класса? Я не понимаю, почему его использование будет отличаться внутри или вне вложенного класса. Любые указатели?
* Есть указатели * Там нет указателей на Python;) – Leon