我的项目要求如下:
有三个模块,比如说第一,第二和第三。
第三个模块有多个课程。
第二个模块调用第三个模块中定义的类之一的方法,并且在读取配置文件后应该知道类名。 (虽然下面的工作代码不是通过配置文件读取)
第一个模块调用第二个模块的方法,后者又调用第三个模块类中定义的方法。简而言之,第二个模块用作插件。
我写了一个像这样的工作代码:
第一个模块:
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方式)。有没有更好的方法(我知道,总会有更好的方法)?