Python: как проверить, есть ли потенциальные имена переменных в пространстве имен?

Как проверить, какие элементы списка потенциальных имен переменных находятся в пространстве имен? Должен ли я просто инициализировать их как None или это лучший способ?

# Potential list. Won't work, will give NameError if one of them is not in the namespace
all_vars = [rds.rclass, \
           rds.rlevel, \
           rds.seg \] # the list is actually much longer

#Could do:
all_vars =[]
try:
   all_vars.append(rds.rclass)
except NameError:
   pass
....

#or as initially said:
rds.rclass = rds.rlevel = ... = None

Есть ли другой (лучший) способ?

1 ответ

Решение

Ужасно, но это должно работать

all_vars = locals().get('all_vars', [])
Другие вопросы по тегам