【发布时间】:2010-09-15 18:46:09
【问题描述】:
假设您在第一次导入模块/类时有一些耗时的工作要做。此功能取决于传入的变量。它只需要在加载模块/类时完成。然后类的所有实例都可以使用结果。
例如,我使用的是 rpy2:
import rpy2.robjects as robjects
PATH_TO_R_SOURCE = ## I need to pass this
robjects.r.source(PATH_TO_R_SOURCE, chdir = True) ## this takes time
class SomeClass:
def __init__(self, aCurve):
self._curve = aCurve
def processCurve(self):
robjects.r['someRFunc'](robjects.FloatVector(self._curve))
我是否坚持创建一个我调用来完成工作的模块级函数?
import someClass
someClass.sourceRStuff(PATH_TO_R_SOURCE)
x = someClass.SomeClass([1,2,3,4])
etc...
【问题讨论】: