Determinar se a variável está definida em Python

| | | | | | | | |

Como você sabe se uma variável foi definida em um local específico no código em tempo de execução? Isso nem sempre é óbvio porque (1) a variável pode ser definida condicionalmente e (2) a variável pode ser excluída condicionalmente. Estou procurando algo como defined() em Perl ou isset() em PHP ou defined? em Ruby.

if condition: a = 42 # "a" está definido aqui? if other_condition: del a # "a" está definido aqui?