【发布时间】:2016-06-23 08:04:02
【问题描述】:
假设我有以下父类和子类:
class A(object):
def __init__(self, *args, **kwargs):
self.a = kwargs.get('a', 'default_A')
self.b = kwargs.get('b', 'default_B')
class B(A):
a = "override_A"
def __init__(self, *args, **kwargs):
super(B, self).__init__(**kwargs)
b = B()
print b.b # this is "default_B", as expected
print b.a # I expected this to be "override_A"
我在这里做错了什么?我试图通过this one 之类的答案来了解继承的工作原理,但没有找到描述此特定要求的内容。
【问题讨论】:
-
@jonrsharpe 我刚刚添加了语义打印语句。如果您运行确切的代码,您会很快意识到问题不是打印错误。
-
是的,我已经编辑了这个问题,希望能更清楚。您没有区分哪些输出是预期的,哪些不是。
标签: python