Допустим, вам нужно выполнить некоторую трудоемкую работу, когда модуль / класс впервые импортируется. Эта функция зависит от переданной переменной. Это нужно делать только тогда, когда модуль / класс загружен. Затем все экземпляры класса могут использовать результат.
Например, я использую 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...