导入函数更改其隐式变量
import function changing its implicit variable
如何调用导入函数的对象,更改函数内部的全局变量?
示例:
于 func.py
a = 2
def f(x):
f = a*x**2
return f
在 deriv.py
def df(f, x, h):
return (f(x + h) - f(x-h)) / (2*h)
在 main.py
from deriv import df
from func import f
res = df( f, 2 , 0.0001 )
print(res)
这适用于 a=2
。有没有办法改变 main.py 上 a
的值?所以我可以用任意 a
值计算函数 f = a*x**2
的导数。
可以在函数中设置a
的默认值作为参数。
def f(x,a=2):
f = a*x**2
return f
你也可以这样做(虽然可能不是一个好的风格)。
from deriv import df
from func import f
import func
func.a = 0
res = df( f, 2 , 0.0001 )
print(res)
如何调用导入函数的对象,更改函数内部的全局变量?
示例:
于 func.py
a = 2
def f(x):
f = a*x**2
return f
在 deriv.py
def df(f, x, h):
return (f(x + h) - f(x-h)) / (2*h)
在 main.py
from deriv import df
from func import f
res = df( f, 2 , 0.0001 )
print(res)
这适用于 a=2
。有没有办法改变 main.py 上 a
的值?所以我可以用任意 a
值计算函数 f = a*x**2
的导数。
可以在函数中设置a
的默认值作为参数。
def f(x,a=2):
f = a*x**2
return f
你也可以这样做(虽然可能不是一个好的风格)。
from deriv import df
from func import f
import func
func.a = 0
res = df( f, 2 , 0.0001 )
print(res)