假设您在第一次导入模块/类时有一些耗时的工作要做。此功能取决于传入的变量。它只需要在加载模块/类时完成。然后类的所有实例都可以使用结果。
例如,我使用的是 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...
最佳答案
拥有模块初始化函数并非闻所未闻。 Pygame 为 sdl 初始化函数执行此操作。所以是的,你最好的选择可能是
import someModule
someModule.init(NECESSARY_DATA)
x = someModule.someClass(range(1, 5))
关于python - 导入时传递变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3720740/