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

发布于 2021-01-29 15:06:51

说,我有一个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的一些变体)

关注者
0
被浏览
75
1 个回答
  • 面试哥
    面试哥 2021-01-29
    为面试而生,有面试问题,就找面试哥。
    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
    


知识点
面圈网VIP题库

面圈网VIP题库全新上线,海量真题题库资源。 90大类考试,超10万份考试真题开放下载啦

去下载看看