Comment remplacer constructeur de Python classe avec de nombreux arguments?

Dire, j'ai une classe Foo, l'extension de la classe Bar. Et je veux légèrement remplacer Foo consructor. Et je ne veux même pas savoir ce que signarure de la Barre des constructeurs est. Est-il un moyen de faire cela?

Si vous ne comprenez pas, je veux dire les éléments suivants:

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, ??? )

Est-il un moyen de mettre quelque chose de court et élégant au lieu de ??? dans ce code?
(Peut-être que certaines variations de args/kwargs)

  • Si Foo devrait en savons si peu sur Bar, pourquoi est-il découlant de Bar? Je veux dire, la technique est utile de gain de temps, mais...
InformationsquelleAutor Alexander | 2011-11-30