首页 > 解决方案 > 如何从具有 __init__ 的类继承并获取输入参数

问题描述

我有两个类如下:

class Buttons():
  def __init__(self, dDict):  
    self.TCT = Tool()
    self.dDict = dDict

  def btnName(self):
    # I will use both self.TCT and self.dDict here
    a = self.dDict['setup']

class Switch(Buttons):
  def __init__(self):
    self.TCT =Tool()

我需要实例化Switch类,但我需要提供dDict以便Buttons该类拥有它正在寻找的数据。实例化类的正确方法是什么Switch

标签: pythonpython-3.x

解决方案


您可以从父类继承__init__,如下所示:

class Switch(Buttons):
    def __init__(self, *args, **kwargs):
        super().__init__(*args, **kwargs)

        # Followed by init code that is used by Switch

这也意味着您不需要self.TCT =Tool()在新的__init__.

然后,您可以安全地调用

switch = Switch(mydict)

推荐阅读