Уведомления

Группа в Telegram: @pythonsu

#1 Фев. 28, 2024 03:25:25

snegovskaya_da
Зарегистрирован: 2024-02-28
Сообщения: 1
Репутация: +  0  -
Профиль   Отправить e-mail  

ООП: атрибуты как аргументы метода в явном виде

Доброго времени суток:
Возник следующий вопрос: как в методе класса задать в качестве аргументов его же атрибуты — но, что важно, в явном виде? Если глобально, то подоплёкой данного вопроса служит необходимость состыковать синтаксис класса с требованиями 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

Буду благодарна любым советам и идеям.

Офлайн

#2 Фев. 28, 2024 08:16:46

ZerG
Зарегистрирован: 2012-04-05
Сообщения: 2627
Репутация: +  61  -
Профиль   Отправить e-mail  

ООП: атрибуты как аргументы метода в явном виде

Что-то очень сильно непонятно
Напишите более широкий пример что есть и что хотите



Влодение рускай арфаграфией - это как владение кунг-фу: настаящие мастира не преминяют ево бес ниабхадимости

Офлайн

#3 Март 4, 2024 10:43:10

hannana
Зарегистрирован: 2024-03-04
Сообщения: 1
Репутация: +  0  -
Профиль   Отправить e-mail  

ООП: атрибуты как аргументы метода в явном виде

ZerG
Что-то очень сильно непонятноНапишите более широкий пример что есть и что хотите
Это верно! Я до сих пор не могу понять ваш вопрос!
bubble shooter

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version