Предположим, что вам требуется трудоемкая работа, когда сначала импортируется модуль/класс. Эта функциональность зависит от переданной переменной. Это нужно делать только при загрузке модуля/класса. Все экземпляры класса могут затем использовать результат.Переменная перехода при импорте
Например, я использую 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))
Am Я застрял создание функции уровня модуля, который я называю, чтобы сделать работу?
import someClass
someClass.sourceRStuff(PATH_TO_R_SOURCE)
x = someClass.SomeClass([1,2,3,4])
etc...
Я должен здесь что-то упустить. Благодарю.
любая информация о том, как настроить функцию инициализации в модуле? это то же самое, что и файл \ _ \ _ init \ _ \ _. py? он не появляется так, основываясь на том, что вы написали выше. возможно ли это, если у вас есть обычные функции в вашем модуле, а не в классах? – user1748155
Это не похоже на файл '__init __. Py'. Функция init в примере представляет собой обычную функцию, которая инициализирует глобальное состояние в модуле. – nmichaels
не удалось найти хорошую ссылку, описывающую метод init. Не могли бы вы поделиться одной ссылкой, описывающей работу модуля init. Благодаря! – NightFurry