【问题标题】:How to call methods of other classes in python?如何在python中调用其他类的方法?
【发布时间】:2018-09-17 06:06:41
【问题描述】:
class Config_A(test.Case):
    def insert(self, protocol_id):
        ...
        ...


class Config_B(test.Case):
    ...
    ....
    ....

    def test_somecase(self):
        self.insert(10)

这里的def insert()是一个常用的方法,多个类都需要用到。从类 Config_B,它不能访问在 Config_A 中定义的 insert() 的定义。 一种解决方案是,在 Config_B 中定义并使用。但这是代码的重复。我们如何在不编写重复代码的情况下做到这一点?

【问题讨论】:

  • 你对继承有多熟悉?
  • 您可以使用inheritance,并且您将能够访问父类的方法。在你的情况下,class config_B(Config_A, test.Case):.
  • 看看这个如果有帮助! stackoverflow.com/questions/2797139/…

标签: python class methods


【解决方案1】:
class Config_A():
    def insert(self, protocol_id):
        print 'protocol_id=',protocol_id

class Config_B(Config_A):
    def test_somecase(self):
        Config_A().insert(10)

def main():
    obj = Config_B()
    obj.test_somecase()

if __name__ == '__main__':
    main()

这个成功了。

【讨论】:

  • Config_A().insert(10) 可以替换为self.insert(10)。否则,您将创建一个立即销毁的临时实例。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2013-12-26
  • 2020-07-29
  • 2017-06-25
  • 1970-01-01
  • 2019-12-15
  • 2021-10-14
相关资源
最近更新 更多