【发布时间】:2011-12-16 15:18:52
【问题描述】:
我正在使用 Twisted 制作 IRC 机器人,但遇到了问题。我想将一个单独文件中的函数导入我的主类(继承 irc.IRCClient 的那个),以便它们可以用作方法。我已经想到了两种可能的解决方案,但它们看起来都有些新奇,而且都有问题。
解决方案1:将类中的函数放在单独的文件中,将其导入到我的主文件中,并使我的主类继承该类。这个解决方案的问题是我最终会继承很多类,并且每次为机器人创建新模块时都必须修改我的主类。
解决方案 2:将函数放在单独的文件中,将其导入我的主文件并将每个导入的函数分配给一个变量。这很烦人,因为我必须在我的主类中为我希望类从其他地方导入的每个方法设置一个变量。
示例:
importthis.py
class a():
def somemethod(self):
print "blah"
main.py
import importthis
class mainClass(irc.IRCClient):
thisisnowamethod = importthis.a()
如您所见,这两种方法(不是双关语)都需要大量愚蠢的工作来维护。有没有更聪明的方法来做到这一点?
【问题讨论】:
标签: python oop function twisted irc