Se você já sabe programar em outra linguagem e quer aprender Python, este guia foi feito para você. Em vez de começar pela teoria abstrata, vamos percorrer os principais recursos da linguagem e construir um pequeno sistema de cadastro de usuários no terminal.
Os exemplos foram pensados para Python 3.13 no Windows, usando o VS Code. Ao final, você deverá conseguir escrever, executar e organizar seus primeiros programas em Python.
O que é programação em Python?
Programação em Python é o desenvolvimento de programas utilizando a linguagem Python. Para quem já conhece outra linguagem, a principal mudança não está nos conceitos fundamentais de programação, mas na forma como esses conceitos são expressos.
Python possui sintaxe enxuta, tipagem dinâmica, estruturas de dados de alto nível e uma biblioteca padrão extensa. A documentação oficial inclusive direciona seu tutorial para programadores que são novos na linguagem, e não necessariamente para pessoas que nunca programaram.
Isso torna Python especialmente interessante para quem já domina conceitos como variáveis, condições, laços e funções e quer transferir esse conhecimento para uma sintaxe diferente.
# Exemplo simples
nome = "Ana"
idade = 25
if idade >= 18:
print(f"{nome} é maior de idade.")
Perceba uma característica importante: Python utiliza indentação para delimitar blocos de código. Em linguagens que usam chaves, você pode estar acostumado a escrever algo como if (...) { ... }. Em Python, a estrutura é definida pela indentação.
Por que aprender Python?

Python pode ser usado em automação, desenvolvimento web, análise de dados, ciência de dados, inteligência artificial, Machine Learning, testes e criação de scripts. O objetivo deste artigo, porém, não é tentar ensinar todas essas áreas de uma vez.
O melhor ponto de partida é dominar a linguagem. Depois, você pode escolher uma trilha especializada.
- Desenvolvimento Web: frameworks como Django, Flask e outras opções do ecossistema.
- Análise de dados: bibliotecas como NumPy, Pandas e Matplotlib.
- Inteligência Artificial e Machine Learning: um ecossistema amplo de bibliotecas e ferramentas.
- Automação: scripts para tarefas repetitivas, arquivos, processos e integrações.
- Ferramentas e APIs: criação de programas que consomem ou disponibilizam serviços.
Se você já programa, a vantagem é poder aproveitar conhecimentos anteriores. Conceitos como abstração, modularização, estruturas de dados e tratamento de erros continuam presentes; o que muda é a sintaxe e algumas convenções.
Como instalar Python 3.13 no Windows
Para este guia, vamos trabalhar com a série Python 3.13. A documentação e os instaladores oficiais estão disponíveis no site do Python.
- Acesse a página oficial de downloads do Python.
- Escolha uma versão da série 3.13 compatível com seu Windows.
- Execute o instalador.
- Conclua a instalação e abra um novo terminal.
- Verifique a instalação.
py -3.13 --version
Se o comando estiver disponível, você deverá obter uma resposta indicando a versão instalada. Caso esteja usando outra configuração do Python Launcher, o comando py -0 também pode ajudar a listar as versões disponíveis.
Importante: não confunda o editor com o interpretador. O VS Code é o ambiente em que você escreve e organiza o código; o interpretador Python é quem executa o programa.
Como configurar o VS Code para Python
O VS Code é uma opção prática para acompanhar este tutorial. Para trabalhar com Python, você precisa do VS Code, de um interpretador Python e da extensão oficial de Python para o editor.
- Instale o VS Code.
- Abra a área de extensões.
- Pesquise por Python.
- Instale a extensão da Microsoft.
- Use o comando Python: Select Interpreter e selecione seu Python 3.13.
A extensão adiciona recursos como IntelliSense, execução, depuração, testes e seleção de ambientes Python.
Para executar um arquivo, crie um arquivo com extensão .py e use o botão de execução no editor ou o terminal integrado.
Seu primeiro programa em Python
Crie um arquivo chamado main.py:
nome = input("Digite seu nome: ")
print(f"Olá, {nome}!")
Execute o arquivo no terminal:
python main.py
Aqui aparecem três ideias fundamentais: uma variável, entrada de dados com input() e saída com print().
Quem vem de outra linguagem deve prestar atenção às f-strings. Elas permitem inserir expressões diretamente dentro de uma string prefixada com f.
Variáveis e tipos de dados
Python não exige que você declare previamente o tipo de uma variável. O tipo pertence ao objeto associado ao nome.
nome = "Carlos"
idade = 30
altura = 1.78
ativo = True
Os tipos básicos mais comuns incluem:
str— texto;int— números inteiros;float— números de ponto flutuante;bool— valores booleanos.
Você pode verificar o tipo de um objeto com type():
idade = 30
print(type(idade))
Uma diferença importante para quem vem de linguagens estaticamente tipadas é que a atribuição é simples, mas isso não significa que Python seja “sem tipos”. Python é dinamicamente tipado.
Para aprofundar variáveis e funções, você também pode consultar o e-book sobre Python, variáveis e funções.
Operadores em Python
Os operadores permitem realizar cálculos, comparações e combinações lógicas.
a = 10
b = 3
print(a + b)
print(a - b)
print(a * b)
print(a / b)
print(a // b)
print(a % b)
print(a ** b)
Também existem operadores de comparação, como ==, !=, >, <, >= e <=.
Já os operadores lógicos and, or e not são usados para combinar condições. Para aprofundar esse assunto, veja este guia sobre operadores lógicos na programação.
Estruturas condicionais
As estruturas condicionais permitem executar diferentes blocos de código de acordo com uma condição.
idade = int(input("Idade: "))
if idade >= 18:
print("Maior de idade.")
elif idade >= 16:
print("Pode haver condições específicas.")
else:
print("Menor de idade.")
O ponto que mais chama atenção para quem vem de outra linguagem é novamente a indentação. O bloco associado ao if precisa estar corretamente indentado.
Em Python, não é necessário envolver a condição em parênteses:
if idade >= 18:
print("OK")
Essa simplicidade é uma das características que tornam a sintaxe da linguagem mais compacta.
Estruturas de repetição
Python possui principalmente os laços for e while.
Laço for
nomes = ["Ana", "Bruno", "Carlos"]
for nome in nomes:
print(nome)
O for percorre iteráveis. Você também pode usar range():
for numero in range(1, 6):
print(numero)
Laço while
contador = 1
while contador <= 5:
print(contador)
contador += 1
Se quiser aprofundar o uso de while em um contexto prático, veja este tutorial de login com while em Python.
Listas, tuplas, conjuntos e dicionários
Python oferece estruturas de dados muito úteis para representar coleções.
Listas
usuarios = ["Ana", "Bruno", "Carlos"]
usuarios.append("Daniel")
print(usuarios[0])
Tuplas
coordenada = (10, 20)
Tuplas são sequências imutáveis, úteis quando você não precisa alterar os valores da coleção.
Conjuntos
linguagens = {"Python", "Java", "Python"}
print(linguagens)
Conjuntos eliminam duplicidades e oferecem operações próprias de conjuntos.
Dicionários
usuario = {
"nome": "Ana",
"idade": 28,
"ativo": True
}
print(usuario["nome"])
Dicionários são especialmente importantes em aplicações Python porque representam dados estruturados de forma simples. Eles serão usados no projeto final deste artigo.
Como criar funções em Python
Funções permitem encapsular comportamentos e evitar repetição de código.
def saudacao(nome):
return f"Olá, {nome}!"
mensagem = saudacao("Ana")
print(mensagem)
Você pode definir parâmetros com valores padrão:
def calcular_total(valor, taxa=0.1):
return valor + (valor * taxa)
print(calcular_total(100))
print(calcular_total(100, 0.2))
Para quem vem de outra linguagem, vale prestar atenção ao uso de def, à indentação e ao fato de que o tipo dos parâmetros não precisa ser declarado para que a função seja criada.
Se quiser praticar funções e estruturas de menu em um contexto maior, consulte este exemplo de sistema de menus em Python.
Módulos e imports
Quando um programa cresce, dividir responsabilidades em arquivos diferentes facilita a manutenção. Em Python, um arquivo .py pode ser importado como módulo.
# calculos.py
def somar(a, b):
return a + b
# main.py
from calculos import somar
resultado = somar(10, 20)
print(resultado)
Também é possível importar módulos da biblioteca padrão:
import math
print(math.sqrt(25))
Essa organização é um dos primeiros passos para sair de scripts pequenos e começar a construir projetos mais estruturados.
Tratamento de exceções
Programas reais precisam lidar com entradas inválidas e situações inesperadas. Python utiliza exceções para representar muitos desses casos.
try:
idade = int(input("Digite sua idade: "))
print(f"Idade: {idade}")
except ValueError:
print("Digite um número inteiro válido.")
Você pode adicionar else para executar código quando nenhuma exceção ocorrer e finally para uma etapa que deve ser executada independentemente do resultado.
try:
numero = int(input("Número: "))
except ValueError:
print("Entrada inválida.")
else:
print(numero * 2)
finally:
print("Fim da operação.")
O tratamento correto de exceções evita que uma entrada inesperada encerre o programa de forma abrupta.
Ambientes virtuais e pip
Quando você começa a trabalhar com projetos reais, é importante separar as dependências de cada aplicação. O módulo venv cria ambientes virtuais isolados para projetos Python.
No Windows, dentro da pasta do projeto, crie um ambiente:
py -3.13 -m venv .venv
Ative-o no PowerShell:
.\.venv\Scripts\Activate.ps1
Depois, você pode instalar pacotes com pip:
python -m pip install nome-do-pacote
O PyPI é o repositório de software para Python onde a comunidade publica e distribui pacotes. Isso explica por que o ecossistema Python é tão amplo: você pode instalar bibliotecas publicadas por diferentes projetos em vez de implementar tudo do zero.
Em projetos reais, mantenha o ambiente virtual fora do controle de versão e registre as dependências do projeto de forma reproduzível.
Projeto prático: cadastro de usuários
Agora vamos juntar os conceitos em um pequeno sistema de cadastro de usuários no terminal. O objetivo não é criar uma aplicação pronta para produção, mas praticar variáveis, listas, dicionários, funções, condicionais, repetição e tratamento de exceções.
1. Estrutura inicial
usuarios = []
2. Função para cadastrar
def cadastrar_usuario():
nome = input("Nome: ").strip()
email = input("E-mail: ").strip()
if not nome or not email:
print("Nome e e-mail são obrigatórios.")
return
usuario = {
"nome": nome,
"email": email
}
usuarios.append(usuario)
print("Usuário cadastrado com sucesso.")
3. Função para listar
def listar_usuarios():
if not usuarios:
print("Nenhum usuário cadastrado.")
return
for indice, usuario in enumerate(usuarios, start=1):
print(f"{indice}. {usuario['nome']} - {usuario['email']}")
4. Criando o menu
def menu():
while True:
print("\n=== Cadastro de Usuários ===")
print("1 - Cadastrar")
print("2 - Listar")
print("0 - Sair")
opcao = input("Escolha uma opção: ").strip()
if opcao == "1":
cadastrar_usuario()
elif opcao == "2":
listar_usuarios()
elif opcao == "0":
print("Programa encerrado.")
break
else:
print("Opção inválida.")
5. Executando o programa
if __name__ == "__main__":
menu()
Código completo
usuarios = []
def cadastrar_usuario():
nome = input("Nome: ").strip()
email = input("E-mail: ").strip()
if not nome or not email:
print("Nome e e-mail são obrigatórios.")
return
usuario = {
"nome": nome,
"email": email
}
usuarios.append(usuario)
print("Usuário cadastrado com sucesso.")
def listar_usuarios():
if not usuarios:
print("Nenhum usuário cadastrado.")
return
for indice, usuario in enumerate(usuarios, start=1):
print(f"{indice}. {usuario['nome']} - {usuario['email']}")
def menu():
while True:
print("\n=== Cadastro de Usuários ===")
print("1 - Cadastrar")
print("2 - Listar")
print("0 - Sair")
opcao = input("Escolha uma opção: ").strip()
if opcao == "1":
cadastrar_usuario()
elif opcao == "2":
listar_usuarios()
elif opcao == "0":
print("Programa encerrado.")
break
else:
print("Opção inválida.")
if __name__ == "__main__":
menu()
Esse projeto é propositalmente simples. Ele não possui banco de dados, autenticação, criptografia ou persistência dos usuários. Essas preocupações pertencem a uma etapa posterior de desenvolvimento.
Se quiser continuar praticando a criação de menus, veja também o tutorial de sistema de menus em Python.
Próximos passos para aprender Python

Depois de dominar os fundamentos deste guia, não tente aprender todas as bibliotecas Python ao mesmo tempo. Escolha uma direção e construa projetos progressivamente maiores.
Desenvolvimento Web
Se seu objetivo é criar aplicações web, estude HTTP, APIs, bancos de dados, autenticação e depois explore frameworks como Django ou Flask.
Análise de dados
Para dados, uma sequência comum é aprender NumPy, Pandas e Matplotlib e, posteriormente, aprofundar estatística, visualização e ferramentas específicas da área.
Inteligência Artificial e Machine Learning
Depois dos fundamentos, você pode avançar para manipulação de dados, matemática aplicada e bibliotecas de Machine Learning e IA.
Automação
Python também é excelente para automatizar tarefas. Comece com arquivos, diretórios, APIs, processamento de dados e integração entre serviços.
O mais importante é transformar cada conceito aprendido em código. Ler documentação ajuda, mas escrever, executar, depurar e refatorar seus próprios programas acelera a aprendizagem.
Para aprofundar seus estudos, confira os e-books de programação disponíveis no Entre Bugs e Soluções.
Conclusão
Aprender programação em Python depois de conhecer outra linguagem não significa começar do zero em programação. Você já possui uma base importante; agora precisa entender como Python expressa os conceitos que você já conhece.
Neste guia, você viu como configurar Python 3.13 no Windows, usar o VS Code, trabalhar com variáveis, operadores, condicionais, loops, estruturas de dados, funções, módulos, exceções, ambientes virtuais e pacotes.
O próximo passo é praticar. Pegue o sistema de cadastro de usuários, modifique suas funções, adicione novas opções ao menu e experimente persistir os dados em um arquivo. Depois, avance para projetos maiores.
Quer continuar estudando? Conheça os e-books de programação do Entre Bugs e Soluções e aprofunde seus conhecimentos com materiais práticos.