[英]How to replace nested functions with class call
我需要將嵌套函數替換為類調用。 這是原始代碼。
import numpy as np
from variables_3 import vars
def kinetics(y,t,b1,b2):
v = vars(*y)
def dydt(v):
return [
(b1 * v.n) + (b2 * v.c1),
(b1 * v.n) - (v.c1),
(b1 * v.n) - (v.c2)
]
dydt=dydt(v)
return dydt
在此代碼中,variables3.py包含:
class vars:
def __init__(self, *args):
(self.n,
self.c1,
self.c2)= args
我希望我的最終代碼看起來像這樣:
import numpy as np
from variables_3 import vars
from equations_3 import eqns
def kinetics(y,t,b1,b2):
v = vars(*y)
dydt=eqns.dydt(v)
return dydt
文件equations_3.py可能看起來像什么呢?
我努力了:
from variables_3 import vars
class eqns:
def dydt(b1,b2,v):
return [
(b1 * v.n) + (b2 * v.c1),
(b1 * v.n) - (v.c1),
(b1 * v.n) - (v.c2)]
但是該代碼不起作用。 提前致謝!
在def kinetics(y,t,b1,b2):
dydt=eqns.dydt(v)
def kinetics(y,t,b1,b2):
傳遞dydt=eqns.dydt(v)
時,請確保在函數調用中傳遞b1
和b2
。 您的dydt()
函數調用應如下所示: dydt=eqns.dydt(b1, b2, v)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.