Я знаю, что есть много вопросов, касающихся использования предопределенной глобальной переменной в модуле, но я хочу сделать наоборот - я хочу взять переменную, определенную внутри модуля, и сделать ее глобальной. Вот код:
import badobjectmask as bm
bm.getgoodlist(datalen = 13501, listname = list2)
print(ra)
с кодом модуля для badobjectmask
global goodlist
global ra
def getgoodlist(datalen, listname):
for f in range(1):
for n in range(datalen):
if (data5[n]['COADD_OBJECT_ID'] in set(listname)) == False:
fcngoodlist.append(data5[n])
fcnra.append(data5[n]['RA'])
goodlist = fcngoodlist
ra = fcnra
Я пытался избавиться от бита global
и вместо этого заканчивал
return
goodlist = fcngoodlist
ra = fcnra
и также попытались поместить бит global
в функцию. При использовании всех этих стратегий я получаю сообщение об ошибке NameError: name 'ra' is not defined
, которое, как я предполагаю, связано с тем, что переменная ra
не становится глобальной. Как это исправить?