我知道有几篇关于这个主题的帖子,但是出于某种原因,我无法理解它,或者至少无法实现它。下面是我正在尝试做的一些示例代码。
基类:
class Animal(object):
def __init__(self, age):
self._age = age
def getAge(self):
return self._age
def speak(self):
raise NotImplementedError()
def speak_twice(self):
self.speak()
self.speak()
子类
from Animal import Animal
class Dog(Animal):
def speak(self):
print "woff!"
测试代码
mod = __import__("Dog")
spot = mod(5)
运行测试代码后,我收到此错误:
Traceback (most recent call last):
File "C:~test.py", line 2, in <module>
spot = mod(5)
TypeError: 'module' object is not callable
所以基本上我的问题是如何动态加载模块并正确初始化它们?
编辑:
直到运行时我才知道子类