Python 继承——父类中的关键字和正则参数

Python 继承——父类中的关键字和正则参数,python,Python,如果我做得对,那么调用ChildFoo实例的正确方法是什么?我问这个是因为我知道我应该把参数放在关键字参数之前,但不知道在这种情况下该怎么做 class ParentFoo(object): def __init__(self,a,b,c=None): pass class ChildFoo(ParentFoo): def __init__(self,d,e,f=None): ParentFoo.__init__(self, a, b, c =

如果我做得对,那么调用ChildFoo实例的正确方法是什么?我问这个是因为我知道我应该把参数放在关键字参数之前,但不知道在这种情况下该怎么做

class ParentFoo(object):
    def __init__(self,a,b,c=None):
        pass

class ChildFoo(ParentFoo):
    def __init__(self,d,e,f=None):
         ParentFoo.__init__(self, a, b, c = "fing")
像这样的

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文档
由于
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
时,您似乎需要默认值。或者,您可以为所有父参数提供默认值

您到底想实现什么?ChildFoo中的ParentFoo.\uuuuu init\uuuuuu调用。\uuuuu init\uuuuuuu将不起作用,因为在该上下文中既没有定义a、b也没有定义c(仅定义self、d、e和f)。所有这些都非常清晰。谢谢。这里1和2等于什么?分配了哪些变量。。。它们指的是父类还是子类?这两个参数是给子类的,如果需要,可以作为位置参数传递(在本例中为d和e)。父类的init在super调用中是任意完成的。