Operações com Tipos Básicos

Python possui vários tipos básicos ou fundamentais: números inteiros, números de ponto flutuante, booleanos, números complexos, cadeias de caracteres, etc.

Números inteiros

Os tipos de variáveis em Python são inferidos automaticamente pelo interpretador, sem que haja a necessidade de se especificar o tipo da variável no momento de sua declaração. Os exemplos abaixo deixarão esses conceitos mais claros.

# Números inteiros
x = 1
y = 2
resultado = x + y
print(resultado)
print(type(resultado)) (1)
3
<class 'int'>
1 A função type() retorna o tipo do valor passado como parâmetro. No nosso exemplo, como a soma x + y possui um valor inteiro, a função type() retorna <class 'int'> indicando que o valor é de fato um número inteiro.

Números de ponto flutuante

Se o nome ponto flutuante te assusta, não se preocupe. Números de ponto flutuante nada mais são que números com vírgula, ou como costumamos dizer "números quebrados", constrastando com os números inteiros com os quais estamos mais acostumados. Vejamos alguns exemplos de expressões com números de ponto flutuante.

# Números de ponto flutuante
x = 1.1
y = 2.2
resultado = x + y
print(resultado)
print(type(resultado))
3.3000000000000003
<class 'float'>

É importante notar que se pelo menos um dos valores envolvidos em uma expressão numérica for um número de ponto flutuante, o retultado da expressão também será um número de ponto flutuante, como mostrado no exemplo abaixo.

x = 10
y = 2.5
resultado = x * y
print(resultado)
print(type(resultado))
25.0
<class 'float'>

Conversão de tipos

O exemplo acima mostra uma conversão implícita entre tipos. Apesar de a expressão envolver uma variável do tipo int (a variável x) e uma variável do tipo float (a variável y), o resultado da expressão x * y é implicitamente convertido para o tipo float.

Existem também conversões explicitas de tipos em Python. Por exemplo, se quisermos que o resultado a expressão acima seja um número inteiro, podemos "forçar" que isso aconteça usando uma conversão explicita de dados:

x = 10
y = 2.5
resultado = int(x * y)
print(resultado)
print(type(resultado))
25
<class 'int'>

Outras conversões também são possíveis, como mostrado no próximo exemplo:

# Converte inteiro para string
x = 10
s = str(x)
print(s)

# Converte float para inteiro
a = 2.5
b = int(a)
print(b)

# Converte inteiro para float
c = 2
d = float(c)
print(d)
10
2
2.0

Strings ou cadeias de caracteres

Strings nada mais são do que sequências (cadeias) de caracteres. Em outras palavras, uma string é simplesmente uma sequência de zero ou mais letras juntas. Vejamos alguns exemplos.

string_vazia = ''
uma_letra = 'a'
varias_letras = 'abacate'
print(type(string_vazia))
print(type(uma_letra))
print(type(varias_letras))
<class 'str'>
<class 'str'>
<class 'str'>

Você deve ter percebido que nos exemplos acima, a sequência de letras das strings aparece entre aspas simples. Em Python, assim como em outras linguagens, precisamos das aspas para declarar uma variável do tipo string. Tanto aspas simples quanto aspas duplas funcionam. A razão da necessidade das aspas é simples: elas diferenciam uma declaração de uma variável do string de uma atribuição entre duas variáveis. O exemplo abaixo vai deixar isso mais claro.

v = 'var' (1)
s = v (2)
print(v)
print(s)
var
var
1 Declara uma variável cujo nome é v e atribui o valor var a essa variável.
2 Diz que o valor da variável s é o mesmo da variável v (atribuição).

Variáveis booleanas

Outro nome é que representa algo bem simples, mas que costuma assustar as pessoas é o nome variáveis booleanas. Essas variáveis nada mais são do que uma forma de se armazenar um valor lógico, ou seja, verdadeiro ou falso, que, em Python, são representados como True e False, respectivamente.

No exemplo abaixo, criamos uma variável booleana e imprimimos o tipo dessa variável.

# Variáveis booleanas (verdadeiro/falso)
a = True
print(type(a))
<class 'bool'>

Vejamos mais alguns exemplos do uso de operações lógicas (booleanas):

# Exemplos de operações lógicas

# Exemplo de comparação de inteiros.
# Neste exemplo, 'a' é uma variável booleana,
# pois armazena o resultado de uma operação lógica.
a = 4 > 0 (1)
print(a)

# Strings são comparadas lexicograficamente, ou seja,
# em ordem alfabética, letra por letra.
b = "abacate" > "banana" (2)
print(b)

# Expressões lógicas podem envolver muitas variáveis.
# Elas podem também ser combinadas para produzir
# expressões mais complexas.
x = y = 7
print(x <= y and y <= x) (3)
True
False
True
1 Neste exemplo, a variável a armazena o resultado da comparação 4 > 0. Uma outra forma de se interpretar a expressão a = 4 > 0 é o seguinte: se 4 for maior que 0, armazene o valor True na variável a. Caso contrário, armazene o valor False nessa variável. No nosso exemplo, como 4 é de fato maior que 0 (ou seja, o resultado da comparação é um valor lógico verdadeiro), a variável a recebe o valor True.
2 Como a letra a vem antes de b no alfabeto, a palavra "abacate" é menor que "banana", portanto a variável b recebe o valor False. Neste tipo de comparação, caso a primeira letra das palavras seja igual, a segunda letra das palavras é comparada, e assim por diante.
3 Como x e y são iguais, a comparação é verdadeira nos dois casos, o que faz com que a expressão como um todo seja verdadeira.

Vale lembrar que ao final de cada seção, incluímos um playground para você poder praticar o que aprendeu. Esses playgrounds permitem a execução de código diretamente no navegador. Você digita o código, manda executar, e pronto! Tire proveito dessa interatividade e "brinque" com os exemplos fornecidos em cada seção, modificando-os e vendo o impacto dessas mudanças na saída do programa.

Playground

# Use este espaço para praticar o que você aprendeu nesta seção. # Basta digitar o código no espaço abaixo e clicar 'run'.