全局变量与局部变量问题
为什么这样会出现变量未定义:
def calc_prod(list):
s=1.0 在python的函数中和全局变量同名的变量,如果有修改变量的值就会变成局部变量,在修改之前对该变量的引用自然就会出现没有定义的错误
def lazy_prod():
for i in list:
s=s*i
return s
return lazy_prod
f=calc_prod([1,2,3,4])
f
f()
而这样却不会呢?
def count():
fs=[]
for i in range(1,4):
def f():
return i*i
fs.append(f)
return fs
f1,f2,f3=count()
f1(),f2(),f3()