Determinar si la variable está definida en Python

| | | | | | | | |

¿Cómo sabe si una variable se ha establecido en un lugar particular del código en tiempo de ejecución? Esto no siempre es obvio porque (1) la variable podría establecerse condicionalmente y (2) la variable podría eliminarse condicionalmente. Estoy buscando algo como defined() en Perl o isset() en PHP o defined? en Ruby.

if condition: a = 42 # ¿se define "a" aquí? if other_condition: del a # ¿se define "a" aquí?