小编典典

如何使用许多参数覆盖Python类的构造函数?

python

说,我有一个Foo类,扩展了Bar类。我想略微推翻Foo的主持人。而且我什至都不知道Bar的构造函数的含义是什么。有没有办法做到这一点?

如果您听不懂,我的意思是:

class Bar:
   def __init__ (self, arg1=None, arg2=None, ... argN=None):
      ....


class Foo (Bar):
    #Here i just want add additional parameter to constructor, but don't want to know anything about Bar's other parameters (arg1, arg2..., argN)
    def __init__ (self, my_new_arg=None, ??? )
       self.new_arg = my_new_arg
       Bar.__init__(self, ??? )

有没有办法把一件简短而优雅的东西代替???在这段代码中?(也许是args / kwargs的一些变体)


阅读 326

收藏
2021-01-20

共1个答案

小编典典

class Parent(object):
    def __init__(self, a, b):
        print 'a', a
        print 'b', b

class Child(Parent):
    def __init__(self, c, d, *args, **kwargs):
        print 'c', c
        print 'd', d
        super(Child, self).__init__(*args, **kwargs)

test = Child(1,2,3,4)

输出:

1例
第2天
3
b 4
2021-01-20