Найти - Пользователи
Полная версия: ООП: атрибуты как аргументы метода в явном виде
Начало » Python для новичков » ООП: атрибуты как аргументы метода в явном виде
1
snegovskaya_da
Доброго времени суток:
Возник следующий вопрос: как в методе класса задать в качестве аргументов его же атрибуты — но, что важно, в явном виде? Если глобально, то подоплёкой данного вопроса служит необходимость состыковать синтаксис класса с требованиями scipy.integrate.odeint'a.

Поясняю. У меня есть, для примера, класс Stuff с атрибутом Stuff.x. Я пишу для этого класса метод, который должен выдать мне правую часть ОДУ на переменную x:

 def Stuff.dx_dt(...):
    return -2*x + t

Это ОДУ я хочу потом проинтегрировать с помощью scipy.integrate.odeint(…).

И тут возникает проблема: с одной стороны, мне нужно бы собрать все переменные и уравнения, относящиеся к Stuff, в один класс, а с другой стороны, odeint требует, чтобы dx_dt в явном виде зависела от x. То есть по факту мне нужно odeint(Stuff.dx_dt, Stuff.x , t), при том, что из аргументов у Stuff.dx_dt изначально есть только self.

Я нашла вопрос, похожий на мой, на Stackoverflow, но там решается скорее обратная задача, да и честно говоря, я не поняла идею: принципиально, почему слабые ссылки должны работать, а обычные не будут?
https://stackoverflow.com/questions/55413060/python-passing-functions-as-arguments-to-initialize-the-methods-of-an-object-p

Буду благодарна любым советам и идеям.
ZerG
Что-то очень сильно непонятно
Напишите более широкий пример что есть и что хотите
hannana
ZerG
Что-то очень сильно непонятноНапишите более широкий пример что есть и что хотите
Это верно! Я до сих пор не могу понять ваш вопрос!
bubble shooter
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB