如何调用导入函数的对象,改变函数内部的全局变量?
的例子:在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
的导数。
你也可以这样做(也许不是一个好的风格)。
from deriv import df
from func import f
import func
func.a = 0
res = df( f, 2 , 0.0001 )
print(res)
可以设置函数中a
的默认值作为参数。
def f(x,a=2):
f = a*x**2
return f