(1)出现这种错误的原因之一,解释器不知道它的定义是什么,可以先定义一下。
如下:
def cut_end(L,file):
HEIGH_DEST=file.HEIGH_DEST
for i in range(1,L):
if HEIGH_DEST[i]==0 and ((HEIGH_DEST[i+1]-HEIGH_DEST[i]>0) or (HEIGH_DEST[i+2]-HEIGH_DEST[i]>0)):
height=i
break
return height
报错:
UnboundLocalError: local variable 'height' referenced before assignment
先定义一下height
def cut_end(L,file):
HEIGH_DEST=file.HEIGH_DEST
height=1
for i in range(1,L):
if HEIGH_DEST[i]==0 and ((HEIGH_DEST[i+1]-HEIGH_DEST[i]>0) or (HEIGH_DEST[i+2]-HEIGH_DEST[i]>0)):
height=i
break
return height
成功运行。
(2)还有一种可能的原因是全局变量和局部变量同名