import函数改变其隐式变量



如何调用导入函数的对象,改变函数内部的全局变量?

的例子:在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

最新更新