Czy zmienna jest zdefiniowana? Python

Python nie posiada określonej funkcji, aby sprawdzić, czy zmienna jest zdefiniowana, ponieważ jest założenie, że wszystkie zmienne zostały zdefiniowane przed użyciem. Próba uzyskania dostępu do zmiennej, która nie została wcześniej zdefiniowana będzie pluła wyjątkami.

W pythonie to rzadkość, żeby nie wiedzieć czy dana zmienna jest zdefiniowana. Jeżeli nastąpi już taka sytuacja, że tego nie wiesz możesz to sprawdzić poprzez próbę „try”, która w przypadku niezdefiniowanej zmiennej powinna wznieść wyjątek „NameError”:

try:
    test
except NameError:
    test = None

To nie wszystko, ponieważ musimy sprawdzić czy wyjątek został wzniesiony prostym warunkiem:

try:
    test
except NameError:
    test = None

if test is None:
    print "zmienna jest niezdefiniowana";
else:
    print "zmienna jest definiowana";

W wielu sytuacjach np. w formularzach wskazane jest korzystanie ze słowników i testów na obecność kluczy przy pomocy metody:

has_key()