Para programar em Python são precisas duas coisas: a linguagem instalada e um lugar para escrever o código. Este tutorial percorre as duas, mostra o caminho que dispensa qualquer instalação e segue até os primeiros comandos da linguagem, com o código pronto para copiar e executar.
A primeira metade trata do ambiente: instalar no próprio computador ou trabalhar na nuvem, qual editor usar e como confirmar que tudo funcionou. A segunda apresenta os elementos da linguagem, de uma conta simples até a tabela de dados do pandas.
Instalar no computador ou usar a nuvem?
As duas opções executam o mesmo Python e servem para aprender. A diferença está em onde o código roda e no que cada uma exige de você.
| No seu computador | Na nuvem (Google Colab) | |
|---|---|---|
| Instalação | Necessária | Nenhuma, basta uma conta Google |
| Arquivos locais | Acesso direto | Precisam ser enviados |
| Funciona sem internet | Sim | Não |
| Poder de processamento | O da sua máquina | O do servidor, com limite na versão gratuita |
| Bibliotecas | Você instala o que precisar | As principais já vêm prontas |
As duas formas de rodar Python. Elaboração: Análise Macro.
Para quem está começando, a nuvem remove o obstáculo mais comum, que é justamente a instalação. Para quem vai trabalhar com arquivos da própria máquina ou sem conexão garantida, o ambiente local compensa o esforço inicial.
Instalando o Python no computador
O download vem do site oficial da linguagem, python.org/downloads. A página identifica o sistema operacional e oferece a versão adequada em destaque.

Com o arquivo baixado, a instalação começa. A primeira tela do instalador traz a configuração que mais gera problema depois, e ela vem desmarcada por padrão.

Essa caixa no rodapé da janela precisa ser marcada. O PATH é a lista de pastas onde o sistema procura programas quando você digita um comando. Sem o Python nessa lista, o terminal responde que o comando não existe, mesmo com a linguagem instalada.
Quem esquecer não precisa reinstalar: basta rodar o instalador de novo, escolher a opção de modificar e marcar a caixa. Mas marcar agora economiza esse retrabalho.

Ao final, o instalador oferece desativar o limite de comprimento de caminho. O Windows tem um teto histórico de 260 caracteres para o endereço de um arquivo, e projetos com pastas aninhadas chegam lá com facilidade. Aceitar essa opção evita erros difíceis de diagnosticar depois.
O ambiente para escrever o código
A linguagem instalada executa código, mas escrever direto no terminal é desconfortável. É por isso que se usa um ambiente de edição, e o mais comum em análise de dados é o Jupyter Notebook.
O formato de notebook organiza o trabalho em células: blocos de código que rodam de forma independente, intercalados com blocos de texto. Isso permite testar uma parte, ver o resultado na hora e escrever a explicação ao lado, o que casa bem com o trabalho exploratório de análise de dados.
A instalação usa o pip, o gerenciador que baixa e instala bibliotecas. Abra o Prompt de Comando e execute:

pip install jupyter baixa e instala o Jupyter.Se o terminal responder que pip não é reconhecido, o problema é o PATH da etapa anterior. Rode o instalador novamente e marque a caixa.
Terminada a instalação, o comando abaixo inicia o Jupyter, que abre no navegador:

python -m notebook inicia o servidor local e abre o navegador.A página que abre lista os arquivos da sua pasta, e o botão de novo notebook cria o arquivo onde o código será escrito. A aparência da tela varia conforme a versão instalada, mas a lógica é a mesma: navegar até a pasta, criar ou abrir um notebook, escrever nas células.
Um detalhe do funcionamento: o terminal precisa continuar aberto enquanto você trabalha. É ele que mantém o servidor do Jupyter no ar, e fechá-lo encerra a sessão.
O caminho sem instalação
O Google Colab oferece notebooks Jupyter que rodam nos servidores do Google. Com uma conta Google, você escreve e executa Python pelo navegador, sem instalar nada.

O notebook criado funciona como o local, com uma vantagem: as bibliotecas mais usadas em análise de dados já vêm instaladas, e os arquivos ficam salvos no Google Drive.

Os limites aparecem no uso mais pesado: a sessão gratuita se encerra após um tempo de inatividade, e a memória disponível tem teto. Para aprender e para a maior parte dos exercícios, nenhum dos dois incomoda.
Confirmando que funcionou
Com o ambiente escolhido, o teste é escrever um comando na primeira célula e executá-lo com Ctrl+Enter. O comando tradicional para isso exibe um texto na tela:
# esta linha inteira é um comentário e não executa nada print("Olá, mundo!") # o comentário também pode vir depois do comando
Olá, mundo!
Se o resultado aparecer abaixo da célula, o ambiente está pronto. Repare no #: tudo que vem depois dele é comentário, texto que o Python ignora e que serve para explicar o código a quem o lê depois, inclusive a você mesmo.
Os primeiros comandos
Com o ambiente funcionando, o próximo passo é conhecer os elementos da linguagem. Todo o código desta seção roda em qualquer um dos dois ambientes, sem alteração.
O Python como calculadora
A forma mais direta de experimentar a linguagem é usá-la para fazer contas. Os operadores seguem a notação matemática comum, e o print() exibe cada resultado:
print(1 + 1) # soma print(2 * 2) # multiplicação print(2 / 2) # divisão (o resultado é sempre decimal) print((1 + 3) * 2) # os parênteses forçam a soma a acontecer antes
2 4 1.0 8
O print() é necessário aqui por um detalhe do notebook: sem ele, a célula exibe apenas o resultado da última linha, e as três primeiras contas ficariam invisíveis.
A divisão merece atenção: 2 / 2 devolve 1.0, com casa decimal, e não 1. O Python trata toda divisão como operação entre números reais, mesmo quando o resultado é exato. Os parênteses funcionam como na matemática, alterando a ordem das operações: sem eles, 1 + 3 * 2 daria 7, e com eles o resultado é 8.
A tabela reúne os operadores aritméticos da linguagem:
| Operador | Função | Exemplo |
|---|---|---|
+ |
Adição | 3 + 2 devolve 5 |
- |
Subtração | 3 - 2 devolve 1 |
* |
Multiplicação | 3 * 2 devolve 6 |
/ |
Divisão | 3 / 2 devolve 1.5 |
** |
Potência | 3 ** 2 devolve 9 |
// |
Divisão inteira | 3 // 2 devolve 1 |
% |
Resto da divisão | 3 % 2 devolve 1 |
Os operadores aritméticos do Python. Elaboração: Análise Macro.
Variáveis: guardar um resultado
Uma conta cujo resultado aparece na tela e se perde tem pouca utilidade. Para reaproveitar um valor, guardamos ele numa variável com o sinal de igual:
objeto = 1 # guarda o valor 1 sob o nome "objeto" objeto # exibe o conteúdo da variável
1
O lado direito é avaliado primeiro, e o resultado passa a ser acessível pelo nome do lado esquerdo. A partir daí, escrever objeto em qualquer ponto do código equivale a escrever o valor que ele guarda.
Tipos de dados
Cada valor no Python pertence a um tipo, e o tipo determina o que é possível fazer com ele. São quatro os tipos básicos:
| Tipo | O que guarda | Exemplo |
|---|---|---|
int |
Número inteiro | 1 |
float |
Número decimal, com ponto no lugar da vírgula | 1.1 |
str |
Texto, entre aspas simples ou duplas | "texto" |
bool |
Valor lógico: verdadeiro ou falso | True, False |
Os quatro tipos básicos de dados. Elaboração: Análise Macro.
Duas armadilhas para quem vem do português: o separador decimal é o ponto, então mil e meio se escreve 1500.5; e True e False começam com maiúscula, sem aspas, porque são valores lógicos e não textos.
Bibliotecas: onde mora o que a linguagem não traz
O Python nasceu como linguagem de propósito geral, não como ferramenta de análise de dados. O que faz dele um instrumento de trabalho são as bibliotecas, conjuntos de funções escritos pela comunidade e distribuídos separadamente.
Usar uma biblioteca envolve dois passos distintos, e confundi-los é a origem de boa parte dos erros de quem começa. O primeiro é instalar, uma vez só por máquina:
# a ! executa um comando do sistema, e o pip instala a biblioteca
!pip install pandas
O segundo é carregar, uma vez por sessão de trabalho:
import pandas as pd # carrega o pandas e o apelida de pd pd.to_datetime("today") # usa uma função do pandas para obter a data de hoje
Timestamp('2026-09-11 10:31:22.826537')
O as pd cria um apelido, e daí em diante as funções da biblioteca são chamadas com esse prefixo. Os apelidos pd para pandas e np para NumPy são convenção da comunidade: qualquer código que você encontrar na internet vai usá-los.
No Google Colab, as bibliotecas mais comuns já vêm instaladas, e só o import é necessário. Na máquina local, o pip install precisa ser feito uma vez.
Listas, tuplas e dicionários
Até aqui cada variável guardou um valor só. As estruturas de dados guardam vários. A lista é a mais usada, e aceita elementos de tipos diferentes ao mesmo tempo:
lista = [1, "texto", 2, True] # uma lista com quatro elementos de tipos diferentes type(lista) # confirma que o objeto é uma lista
list
A função type() informa o tipo de qualquer objeto, e é a primeira ferramenta a usar quando um comando não se comporta como esperado.
A tupla se parece com a lista, mas usa parênteses e não pode ser alterada depois de criada, o que serve para dados que não devem mudar. O dicionário guarda pares de chave e valor, e é ele que permite acessar um dado pelo nome em vez de pela posição:
{ # o dicionário fica entre chaves
"nome": "João", # a chave "nome" guarda um texto
"idade": 15, # a chave "idade" guarda um número
"masculino": True, # a chave "masculino" guarda um valor lógico
"pais": ["Maria", "José"] # o valor também pode ser uma lista
}
Essa estrutura de chave e valor é a mesma que você encontra em arquivos JSON, o formato em que a maioria das APIs devolve dados. Quem coleta informação de fontes públicas pela internet trabalha com dicionários o tempo todo.
NumPy: a operação que vale para todos os elementos
Uma lista de números não se comporta como um vetor matemático. Multiplicá-la por 2 repete os elementos em vez de dobrar cada um:
[1, 2, 3, 4] * 2 # repete a lista, não multiplica os valores
[1, 2, 3, 4, 1, 2, 3, 4]
O NumPy resolve isso com o array, uma estrutura em que todos os elementos têm o mesmo tipo e as operações valem para cada um deles:
import numpy as np # carrega o numpy com o apelido convencional np.array([1, 2, 3, 4]) * 2 # agora cada elemento é multiplicado por 2
array([2, 4, 6, 8])
Essa propriedade se chama vetorização, e é o que permite aplicar uma correção de inflação a uma série inteira, ou converter mil cotações de dólar para real, numa linha só. As funções matemáticas do NumPy seguem a mesma lógica: np.sqrt() tira a raiz quadrada de cada elemento do array de uma vez.
pandas: a tabela
O pandas é construído sobre o NumPy e traz a estrutura que domina o trabalho com dados: o DataFrame, uma tabela com colunas nomeadas, parecida com uma planilha.
tabela = pd.DataFrame( # cria a tabela a partir de um dicionário data = { "coluna_a": [1, 2, 3, 4], # a chave vira o nome da coluna "coluna_b": ["a", "b", "c", "d"] # cada lista vira o conteúdo da coluna } ) tabela # exibe a tabela
coluna_a coluna_b 0 1 a 1 2 b 2 3 c 3 4 d
Repare na coluna sem nome à esquerda, com os números de 0 a 3: é o índice, o rótulo de cada linha. Ele aparece sozinho e será o lugar das datas quando a tabela guardar uma série temporal.
A contagem também começa em zero: a primeira linha é a linha 0. Isso vale para toda a linguagem, inclusive para as posições de uma lista.
Objetos e métodos
Uma coluna do DataFrame traz funções próprias, acessadas com um ponto depois do nome do objeto:
print(tabela["coluna_a"].mean()) # média dos valores da coluna_a
2.5
Essas funções ligadas a um objeto se chamam métodos, e a notação objeto.metodo() aparece em praticamente todo código Python de análise de dados. Quais métodos existem depende do tipo do objeto: um array do NumPy tem métodos diferentes dos de um DataFrame, e é por isso que type() ajuda tanto a diagnosticar um erro.
Os métodos vêm de uma classe, que funciona como o molde a partir do qual os objetos são criados. Definir uma classe própria é raro no começo, mas ver uma por dentro esclarece de onde vêm o ponto e os parênteses:
class Pessoa: # define o molde chamado Pessoa def __init__(self, nome, idade): # executa quando um objeto é criado self.nome = nome # guarda o nome recebido no objeto self.idade = idade # guarda a idade recebida no objeto def apresentar(self): # método que o objeto pode executar return f"Olá, meu nome é {self.nome} e tenho {self.idade} anos." pessoa = Pessoa("Maria", 30) # cria um objeto da classe Pessoa pessoa.apresentar() # executa o método e exibe o resultado
'Olá, meu nome é Maria e tenho 30 anos.'
O __init__ roda sozinho quando o objeto é criado, e é onde os dados recebidos ficam guardados. O self se refere ao objeto em questão, o que permite a cada Pessoa ter seu próprio nome e sua própria idade. Quando você escreve tabela["coluna_a"].mean(), o mecanismo é o mesmo: um objeto executando um método da sua classe.
Uma observação sobre o f antes das aspas: ele permite inserir o valor de uma variável dentro do texto, usando chaves. É a forma mais prática de montar uma mensagem com dados que mudam.
O caminho a partir daqui
Esses elementos sustentam qualquer análise: variáveis guardam resultados, bibliotecas trazem as funções, arrays e DataFrames organizam os dados e os métodos operam sobre eles. O que muda de um projeto para outro é a fonte do dado e a pergunta.
O passo natural é aprofundar o pandas, tratado em Introdução ao pandas, e aplicar a linguagem a dados reais. Uma boa porta de entrada é a coleta em fontes públicas, como mostramos em Como lidar com erros de coleta de dados, e a organização desse trabalho segue o ciclo de análise de dados.
📩 Acompanhe nossas análises
O Boletim AM traz análises de conjuntura, exercícios em R e Python e material de estudo, direto no seu e-mail.
Problemas comuns
- "python não é reconhecido como comando". O PATH não foi configurado. Rode o instalador de novo, escolha modificar e marque "Add Python to PATH".
- O Jupyter não abre no navegador. O terminal exibe um endereço começando com
localhost:8888; copie e cole na barra do navegador. - A biblioteca não é encontrada ao importar. Instalar e carregar são passos distintos: depois do
pip install, é preciso importar a biblioteca dentro do notebook. - O código funciona no Colab e falha localmente. Em geral falta instalar a biblioteca na máquina, já que o Colab traz as principais prontas.
Considerações finais
Preparar o ambiente é a etapa que trava mais gente do que o aprendizado da linguagem em si. Um caminho conhecido resolve o obstáculo: instalar marcando o PATH, escolher onde escrever o código e testar com um comando simples.
Quem quiser começar hoje, sem nenhuma configuração, abre o Colab e roda os comandos deste tutorial na sequência em que aparecem. A instalação local pode esperar o momento em que arquivos da própria máquina entrarem no trabalho.
Sobre a linguagem em si, os elementos vistos aqui se repetem em qualquer análise. O pip install e o import são passos distintos, o ponto depois do objeto chama um método da classe dele, a contagem começa em zero e o array do NumPy aplica a operação a todos os elementos de uma vez. Quem tem esses quatro pontos claros lê código Python de análise de dados sem tropeçar na sintaxe.
O que vem depois depende da área:
- Economista: coleta séries de IBGE e Banco Central e monta relatórios que se atualizam sozinhos.
- Analista de dados: substitui planilhas manuais por rotinas que rodam de novo a cada atualização.
- Contador: extrai informações de documentos e demonstrativos em volume.
- Profissional de mercado: puxa cotações, calcula indicadores e testa estratégias com dados próprios.
Em todos os casos, o ambiente configurado é o que permite sair do comando de teste e passar aos dados do próprio trabalho.
Do ambiente pronto à primeira análise
A formação Do Zero à Análise de Dados Econômicos e Financeiros parte deste ponto: com o Python instalado, ensina a coletar, tratar, modelar e visualizar dados econômicos, sem exigir conhecimento prévio. Quem quer acesso a todas as formações tem o AM Black, a assinatura anual.
Leia também: