【发布时间】:2016-12-28 21:24:45
【问题描述】:
这...
class A(object):
class B(A):
def __init__(self):
pass
...抛出“NameError: name 'A' is not defined”。
是否有适当的语法来完成此操作,或者我必须使用解决方法,例如这样?
class A(object):
pass
class _B(A):
pass
A.B = _B
优先级是非常可取的。谢谢。
【问题讨论】:
-
1.那是一个内部类,而不是子类。 2.不,内部类不能继承(不扩展)其外部类,因为在定义内部类时外部类没有完全定义。 3.您的解决方法不是解决方法,因为它没有内部类。您混淆了子类和内部类。
-
请注意,在 Python 中,内部类很少有好的用例。
-
然后我错误地命名了查询。所以这对于内部类是不可能的。是否可以重命名,还是问题无效?
-
@DeepSpace,在答案中说出这句话,我会标记它。否则我会自己回答。
标签: python python-2.7 inheritance subclass