1

我对我的项目有这样的要求:

有三个模块,让我们说第一个,第二个和第三个。

第三个模块有不止一个类。

第二个模块调用第三个模块中定义的类之一的方法,它应该在读取配置文件后知道类名。(虽然下面的工作代码没有通过配置文件读取)

第一个模块调用第二个模块的方法,第二个模块又调用第三个模块的类中定义的方法。简而言之,第二个模块作为插件工作。

我写了一个这样的工作代码:

第一个模块:

from secondclass import secondClass


class firstClass():
  def __init__(self):
    print self

  def call_second(self):
    secondClass.call_third_class(secondClass())


obj = firstClass()
obj.call_second()

第二模块

def _get_driver():
  module = __import__("thirdclass")
  driver = getattr(module, "thirdClass")()
  return driver


class secondClass(object):

  def __init__(self):
    self.driver = _get_driver()

  def call_third_class(self):
    res = self.driver.sum(20, 30)
    print "res :", res

第三模块

class thirdClass():
  def __init__(self):
    pass

  def sum(self, number1, number2):
    return number1 + number2


class fourthClass():
  def __init__(self):
    pass

  def multiply(self, number1, number2):
    return number1 * number2

由于我是 python 新手,我不知道这是否是正确的方法(pythonic 方式)。有没有更好的方法(我知道,总会有更好的方法)?

4

0 回答 0