3.8 Constantes
O Python possui poucas constantes embutidas. As mais utilizadas são True, False e None. Essas também são palavras chaves do Python, portanto palavras reservadas que não podemos utilizar como nomes de variáveis.
True e False são valores booleanos que representam, respectivamente, verdadeiro e falso. O Python também possui a função bool() , que retorna True quando o argumento passado é verdadeiro e retorna False , caso contrário.
Podemos representar True e False através de expressões. Por exemplo “O número 1 é igual a
string ‘1’?“. Vamos perguntar ao Python:
1 == ‘1’
False print(1 == ‘1’)
O operador == é usado para verificar se algo é igual a outro. Não confundir com o = , que atribui um valor a uma variável. Também podemos verificar se um número é maior, utilizando o operador > , ou menor ( < ) do que outro:
2 >
True
2 <
False
Podemos também utilizar a função bool() para fazer a verificação:
bool(3 > 5) False
bool(1 == 1) True
O comando bool() não recebe apenas expressões, ele pode receber qualquer coisa e vai responder se tal valor é considerado True ou False :
bool(0) False
bool(”) False
bool(None) False
bool(1) True
bool(-100) True
bool(13.5) True
bool(‘teste’) True
bool(True) True
Repare que a função resulta False em strings vazias, quando um número é zero ou quando é None . Ainda não falamos o que o None representa. O None é um valor do tipo NoneType , e é usado para representar a abstenção de um valor - como quando um argumento padrão não é passado para uma função (que veremos em outro capítulo).
type(None)
<class ‘NoneType’>
Em outras linguagens de programação, é comum utilizar a palavra Null para representar a abstenção de valor. Para programadores mais experientes e com algum conhecimento em linguagens como Java e C#, é importante observar que diferente do Null, o None ocupa espaço na memória, é um objeto com referência.
No exemplo acima foram utilizados três operadores diferentes daqueles já vistos anteriormente: o
== (igual), o > (maior do que) e o < (menor do que). Estes operadores não são aritméticos, são conhecidos por operadores de comparação. O Python possui mais operadores deste tipo:
| Operação | Descrição |
| a == b | a igual a b |
| a != b | a diferente de b |
| a < b | a menor do que b |
| a > b | a maior do que b |
| a ⇐ b | a menor ou igual a b |
| a >= b | a maior ou igual a b |
Outros operadores que retornam valores booleanos são:
| Operação | Descrição |
| a is b | True se a e b são idênticos |
| a is not b | True se a e b não são idênticos |
| a in b | True se a é membro de b |
| a not in b | True se a não é membro de b |
É importante saber que os operadores == e is funcionam de maneira diferente. Vamos usar o exemplo de duas listas e checar se elas são iguais:
x = [1, 2, 3]
y = [1, 2, 3]
x == y
True
x is y False
O operador== checa se o conteúdo das variáveis são iguais e seu comportamento pode variar de interpretador para interpretador - o exemplo acima é o comportamento padrão do CPython. Já o operador is checa se a e b são o mesmo objeto. Falaremos de objetos em um outro capítulo, mas é importante ter em mente que tudo em Python é um objeto e cada objeto possui uma referência na memória. O operador is vai checar exatamente se x e y são o mesmo objeto, ou seja, se possuem a mesma referência.