Toc*_*Toc 2 python inheritance
我对python 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()
Run Code Online (Sandbox Code Playgroud)
但是如果我们在类B的范围之外提取类的定义A,一切都很好.
在嵌套类中调用时,我们是否需要使用"super"?我无法理解为什么它的使用在嵌套类的内部或外部会有所不同.有什么指针吗?
| 归档时间: |
|
| 查看次数: |
398 次 |
| 最近记录: |