Variáveis

Nomes de variáveis em Python podem conter caracteres alfanuméricos (a-z, A-Z, 0-9) e alguns caracteres especiais, como o _. Nomes de variáveis normais precisam começar com uma letra.

Por convenção, nomes de variáveis começam com letra minúscula e nomes de classes começam com letras maiúsculas.

Além disso, existem palavras reservadas em Python, que não podem ser usadas como nomes de variáveis:

and, as, assert, break, class, continue, def, del, elif, else, except, 
exec, finally, for, from, global, if, import, in, is, lambda, not, or,
pass, print, raise, return, try, while, with, yield

Tipos Básicos

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

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
print(x + y)
type(x + y)
3

int
# Números de ponto flutuante
x = 1.1
y = 2.2
print(x + y)
type(x + y)
3.3000000000000003

float
# Variáveis booleanas (verdadeiro/falso)
a = True
type(a)
bool

Operadores

A maioria dos operadores e operações em Python se comportam como os operadores e operações da Matemática.

O operador / realiza divisão de ponto flutuante em Python 3, e o operador // realiza divisão inteira. Em Python 2 esse mesmo operador realizava divisão inteira. Então é importante ficar atento a esta diferença quando se está programando. Para descobrir a versão do Python que você está usando, basta digitar no terminal (ou prompt de comandos, se você está usando o Windows): python --version.

Strings ou Cadeias de Caracteres

Strings (cadeias de caracteres) são tipos compostos, mas eles são tão comuns em Python e são usados tão frequentemente que decidimos incluí-los nesta seção.

Você irá perceber nos exemplos que o tipo de dados string, ou str como é chamado em Python, possui várias operações úteis associadas a ele. Essas operações tornam Python uma linguagem propícia para manipulação de textos.

Os exemplos abaixo ilustram o tipo de dados string e as operações associadas a ele.

s = "Olá, mundo!"
print(s)
Olá, mundo!
type(s)
str
# Tamanho da cadeia de caracteres
len(s)
11
# Operações com cadeias de caracteres

# Substitui uma substring em uma string com alguma outra coisa
s1 = s.replace("mundo", "meu abacate")

print(s1)

# A string s começa com "Olá"?
print(s.startswith("Olá"))

# A string s termina com "mundo"?
print(s.endswith("mundo"))

# A string s1 termina com "mundo"?
print(s1.endswith("mundo"))

# Quantas ocorrências da palavra "abacate" a string s1 possui?
print(s1.count("abacate"))
Olá, meu abacate!
True
False
False
1

Além das operações vistas acima, podemos acessar caracteres específicos de uma string em Python usando a notação [], que, como veremos a seguir, é a mesma notação usada para se acessar elementos de uma lista.

s[0]
'O'

Podemos também acessar fatias ou “slices” de uma string ou lista em Python. Esta notação é muito concisa e poderosa, então é importante que você a entenda bem.

Segundo essa notação, uma fatia de uma string pode ser acessada se fornecermos os índices do começo e do final da fatia que desejamos analisar, como mostrado abaixo:

s[1:3]
'lá'

Note que os índices de uma string começam do 0 e não do 1.

Além disso, perceba que o índice do final da fatia não é incluído nela. No exemplo acima, o [1:3] nos retornou dois caracteres e não 3. Foram retornados o caracter no índice 1 e o caracter no índice 2, mas não o caracter no índice 3.

Se omitirmos o índice de ínicio da fatia ou o de final (ou ambos), o ínicio e o final da string serão considerados, respectivamente. Veja os exemplos:

s[:3]
'Olá'
s[5:]
'mundo!'
s[:]
'Olá, mundo!'

Para aprender mais detalhes sobre a técnica de slicing, veja este link.

E para aprender mais sobre como usar strings em Python, leia este tutorial.

Formatação de Strings

Os exemplos abaixo mostram as várias opções de formatação de strings.

print("Admirável", "Mundo", "Novo") # A função print concatena strings com um espaço entre elas.
Admirável Mundo Novo
print(1984, "George Orwell")  # A função print converte números para strings.
1984 George Orwell
# As strings somadas com + são concatenadas sem espaços entre elas.
print("#" + "Programando" + "Em" + "Python")
#ProgramandoEmPython
# Formatação de strings no estilo da linguagem C.
print("O valor de Pi é %.2f" % 3.14)
O valor de Pi é 3.14
# Forma mais avançada de formatação de strings
frase = 'Um triângulo de base igual a {0} e altura igual a {1} possui área igual a {2}.'.format(3, 4, 12)
print(frase)
Um triângulo de base igual a 3 e altura igual a 4 possui área igual a 12.