Использование переменных, которые не были определены или установлены (неявно или явно), почти всегда плохо в любом языке, поскольку это указывает на то, что логика программы не была продумана правильно и может привести к непредсказуемому поведению.
Следующий трюк, аналогичный вашему, гарантирует, что переменная имеет некоторое значение перед использованием:
try:
myVar
except NameError:
myVar = None
# Now you're free to use myVar without Python complaining.
Однако я все еще не думаю, что это хорошая идея - по моему мнению, вам следует реорганизовать свой код, чтобы такая ситуация не возникала.