O uso de variáveis que ainda não foram definidas ou definidas (implícita ou explicitamente) é quase sempre uma coisa ruim em qualquer idioma, pois geralmente indica que a lógica do programa não foi pensada adequadamente e provavelmente resultará em em comportamento imprevisível.
Se você precisar fazer isso no Python, o truque a seguir, semelhante ao seu, garantirá que uma variável tenha algum valor antes do uso:
try:
myVar
except NameError:
myVar = None
# Now you're free to use myVar without Python complaining.
No entanto, ainda não estou convencido de que seja uma boa ideia - na minha opinião, você deve tentar refatorar seu código para que essa situação não ocorra.