如果我这样做,调用ChildFoo实例的正确方法是什么?我问这个是因为我知道我应该在关键字参数之前放置参数,但不知道在这种情况下该做什么......
./bin/spark
SyntaxError : invalid syntax.
答案 0 :(得分:0)
这样的东西?
class ParentFoo(object):
def __init__(self,a,b,c=None):
print(c)
class ChildFoo(ParentFoo):
def __init__(self,d,e,f=None):
super(ChildFoo,self).__init__(d,e,c="fing")
c = ChildFoo("1","2")
官方python doc在这里 https://docs.python.org/2/library/functions.html#super
答案 1 :(得分:0)
由于ChildFoo
继承自ParentFoo
,因此必须为父类提供参数
class ChildFoo(ParentFoo):
def __init__(self, a, b, d, e, f=None):
ParentFoo.__init__(self, a, b, c="fing")
我没有添加'c' - 因为在ChildFoo
init ParentFoo
时你似乎想要默认值。或者,您可以为所有父参数提供默认值