Я установил глобальную переменную delete в начале проекта, прямо под импортированными библиотеками и перед любым классом, но когда у меня есть этот бит кода:Локальная переменная 'delete', на которую ссылаются перед присвоением глобальной переменной
def motion_notify_callback(event):
if (ispymol == True):
if event.inaxes is ax:
x = event.xdata
y = event.ydata
x = round(x,0)
y = round(y,0)
x = int(x)
y = int(y)
coord = (x,y)
for i in range(0,len(number_list)):
if (coord == number_list[i]):
if (delete == True):
pymol.cmd.do("delete CurrentCont")
delete = False
pymol.cmd.do("distance CurrentCont, chain"+lc+" and resi "+resi1[i]+" and name CA, chain"+lc+" and resi "+resi2[i]+" and name CA")
delete = True
for i in range(0,len(rres)):
if (coord == mappingpredcont[i]):
if (delete == True):
pymol.cmd.do("delete CurrentCont")
delete =False
pymol.cmd.do("distance CurrentCont, chain"+lc+" and resi "+predresi1[i]+" and name CA, chain"+lc+" and resi "+predresi2[i]+" and name CA")
delete = True
У этого есть локальная переменная ошибки 'delete', на которую ссылаются перед назначением для глобальной переменной Где я иду не так?
Вы должны определите 'global' в каждой функции, где вы хотите ее использовать (чтобы напомнить вам, что в> 99% всех случаев использования это плохой стиль кодирования). – Matthias