Tradicionalmente, programação envolve testar valores (e tomar decisões com base no resultado do teste). Um teste é essencialmente uma expressão condicional que tem um resultado verdadeiro ou falso. Esta seção descreve os operadores condicionais mais comuns em Python.
A partir da versão 2.2 de Python, existe um tipo numérico que representa o resultado de um teste condicional: o tipo booleano. É um tipo bastante simples, possuindo apenas dois valores possíveis: True e False. A partir da versão 2.3 de Python, qualquer comparação retorna um valor booleano; versões anteriores retornavam 1 ou 0, respectivamente. Na prática, o resultado é equivalente, ficando apenas mais explícito e legível o resultado.
>>> print 2 == 4 # igualdade
False
>>> print 2 != 4 # diferente de
True
>>> print "a" == "a"
True
>>> print "a" != "b"
True
>>> print 1 < 2 # menor que
True
>>> print 3 > 5 # maior que
False
>>> print 3 >= 4 # maior ou igual que
False
Comparações podem ser realizadas também com outros tipos de variáveis; para strings, listas ou dicionários, as comparações `maior que' e `menor que' se referem ao número e ao valor dos elementos, mas por não serem terrivelmente claras não são muito freqüentemente usadas7.
>>> [2,2,3] < [2,3,2]
True
>>> "abacate" < "pera"
True
Dica: quando comparando o número de elementos de uma seqüência ou dicionário, é normalmente utilizada a função len(), que retorna o `comprimento' da seqüência.
Para seqüências e dicionários, existe o operador in, que verifica se o elemento está contido no conjunto; no caso do dicionário, o operador testa a presença do valor na seqüência de chaves.
>>> "x" in "cha"
False
>>> 1 in [1,2,3]
True