Python para iniciantes: seu primeiro programa em 5 minutos
Este tutorial foi traduzido do original em inglês.Read in EnglishLeer en españolЧитать на русскомอ่านภาษาไทยAvisar sobre um erro de tradução
Você já se perguntou como apps como Instagram, Spotify ou YouTube funcionam de verdade? Por trás de todo app, site e jogo existe código: instruções escritas por uma pessoa, dizendo ao computador o que fazer.
Python é uma das linguagens mais populares para escrever essas instruções. Ela se lê quase como inglês comum, então você pode se concentrar em resolver problemas em vez de brigar com uma sintaxe confusa.
Neste tutorial, você vai escrever seu primeiro programa em Python, aprender como o Python lida com texto e números e começar a usar variáveis para guardar informações. Todos os exemplos de código desta página são interativos: você pode clicar em Executar, mudar o que quiser e ver o resultado na hora. Não precisa instalar nada.
Como escrever seu primeiro programa em Python
Existe uma tradição divertida na programação: a primeira coisa que você faz em qualquer linguagem nova é fazer com que ela diga "Hello, World!" ("Olá, mundo!"). É um aperto de mão rápido entre você e a linguagem, a prova de que tudo funciona.
Em algumas linguagens, isso exige 5 linhas de código ou mais. Em Python, é uma só:
Hello, World!
Clique no botão Executar acima. Você deve ver Hello, World! aparecer abaixo do código. Pronto: você acabou de executar um programa em Python!
Vamos entender o que aconteceu:
print() é uma função embutida. Pense nela como uma máquina: você coloca algo dentro e ela faz alguma coisa com isso. Esta mostra texto na tela.() são onde você passa os dados. Os programadores chamam isso de "argumento"."Hello, World!" é uma string, um nome mais chique para texto. As aspas dizem ao Python: "isto é texto, não código".Experimente mudar a mensagem entre as aspas e executar de novo. Tente exibir o seu nome. Tente adicionar um segundo print() em uma nova linha:
Hello, World! My name is Python. Nice to meet you!
Cada print() aparece em sua própria linha. O Python lê o seu código de cima para baixo, uma linha por vez, como quem lê um livro.
A ordem em que você escreve as coisas é a ordem em que elas rodam. Essa é uma das ideias mais importantes da programação.
O que são comentários em Python?
Um comentário é uma anotação que você escreve dentro do código e que o Python ignora por completo. Para criar um, comece a linha com o símbolo #.
Por que você ia querer que o Python ignorasse alguma coisa? Porque comentários são para pessoas, não para computadores. Eles ajudam você (e qualquer outra pessoa que leia o seu código) a entender o que está acontecendo.
This line runs!
Pense nos comentários como post-its colados numa receita. O forno não lê esses bilhetes, mas eles ajudam você a lembrar por que colocou mais sal ou qual temperatura funcionou melhor.
Strings e números em Python: qual é a diferença?
Tudo em Python tem um tipo. Um tipo é como uma etiqueta que diz ao Python que espécie de dado aquilo é e o que você pode fazer com ele.
Os dois tipos mais básicos são as strings (texto) e os números. Entender a diferença entre eles vai livrar você de muitos erros confusos.
Como criar strings em Python
Uma string é qualquer texto entre aspas. Você pode usar aspas simples ('hello') ou aspas duplas ("hello"): as duas funcionam exatamente do mesmo jeito.
Hello! Hello! It's a sunny day! She said "wow!"
Strings podem conter qualquer coisa: letras, números, espaços, pontuação e até emoji. Desde que esteja entre aspas, o Python trata como texto.
Tipos numéricos em Python: inteiros e floats
Os números em Python vêm em dois sabores:
int): números sem parte decimal, como 42, -7 ou 1000000. Sem ponto decimal.float): números decimais, como 3.14, -0.5 ou 100.0. Eles sempre têm um ponto decimal (em Python é ponto, não vírgula).42 3.14 -7 1000000
Por que o tipo dos dados importa em Python?
Aqui está algo que confunde quase todo iniciante: "42" (com aspas) e 42 (sem aspas) são coisas completamente diferentes para o Python.
Um é texto. O outro é um número. Eles parecem iguais quando exibidos, mas se comportam de maneiras muito diferentes:
42 42 <class 'str'> <class 'int'> 428 50
"42" + "8" resulta em "428" porque + entre strings significa "cole uma na outra". Isso se chama concatenação.
42 + 8 resulta em 50 porque + entre números significa "some". O mesmo operador, com um comportamento completamente diferente dependendo do tipo.
A função type() diz exatamente com que tipo de dado você está trabalhando. Quando algo não se comporta como você espera, verificar o tipo costuma ser a primeira coisa a tentar.
Como fazer contas em Python
Python funciona muito bem como calculadora. Ele lida com números de qualquer tamanho sem esforço nenhum, ao contrário de algumas linguagens que engasgam com números grandes.
Estes são todos os operadores matemáticos que você vai usar:
5 6 21 3.75 3 3 1024
A maioria funciona como nas aulas de matemática. Mas alguns podem ser novidade para você.
/ (divisão) sempre dá um resultado decimal, mesmo quando a divisão é exata. 10 / 2 resulta em 5.0, não em 5. Isso pega muita gente de surpresa.
// (divisão inteira) divide e depois arredonda para baixo, até o número inteiro mais próximo. Com números positivos, pense nela como "divisão, mas jogando fora tudo o que vem depois do ponto decimal". Com números negativos, arredondar para baixo afasta o resultado do zero: -7 // 2 dá -4.
% (módulo) dá o resto da divisão. Por exemplo, 15 ÷ 4 = 3, com resto 3. Isso é surpreendentemente útil: você pode verificar se um número é par (n % 2 == 0), fazer valores "darem a volta" (como as horas num relógio: 13 % 12 = 1) e muito mais.
` (exponenciação)** eleva um número a uma potência. 2 ** 10` significa "dez números 2 multiplicados entre si", o que dá 1024.
O Python segue a ordem usual das operações da matemática: primeiro parênteses, depois potências, depois multiplicação e divisão e, por último, soma e subtração. Você pode usar parênteses para mudar a ordem:
14 20 25°C = 77.0°F
# "Division gives a whole number, right?"
result = 10 / 3
print(result) # Expects: 3# / always gives a decimal (float)
result = 10 / 3
print(result) # 3.3333333333333335
# Use // to get a whole number
result = 10 // 3
print(result) # 3O que são variáveis em Python e como usá-las?
Até agora, trabalhamos direto com valores: print(42), print(2 + 3). Isso serve para contas rápidas, mas programas de verdade precisam lembrar valores e usá-los depois.
É para isso que servem as variáveis. Pense em uma variável como um recipiente com etiqueta. Você dá um nome a ela, coloca um valor dentro e depois usa esse nome sempre que precisar do valor.
Alice 15 5.4 True
name = "Alice" cria uma variável chamada name e guarda nela a string "Alice". O sinal = é o operador de atribuição: ele não significa "igual" como na matemática. Significa "guarde este valor com este nome".
Leia name = "Alice" como: "name recebe Alice". Essa distinção é importante e vai evitar confusão mais tarde.
Repare que não existe palavra-chave let, var ou const. Em JavaScript, você escreveria let name = "Alice". Em Python, você escreve só name = "Alice". O Python também não precisa de declaração de tipo: ele descobre o tipo a partir do valor, automaticamente.
Variáveis podem mudar. Você pode dar a elas um novo valor a qualquer momento:
Starting score: 0 After first round: 10 After bonus: 15 After doubling: 30
A linha score = score + 5 parece estranha se você pensar no = como "igual". Mas lembre-se: = significa "atribuir".
Leia assim: "pegue o valor atual de score (10), some 5 para obter 15 e guarde esse resultado de volta em score". Esse padrão, atualizar uma variável com base no seu valor atual, aparece em todo lugar na programação.
Como usar f-strings em Python (formatação de strings)
Em quase todo programa, você vai precisar misturar variáveis com texto. Mostrar uma mensagem de boas-vindas com o nome da pessoa, exibir uma pontuação, imprimir um recibo: tudo isso exige combinar dados com texto.
O Python tem uma ferramenta excelente para isso, chamada f-strings (o "f" vem de "formatted", formatada). Coloque a letra f antes da aspa de abertura e depois coloque qualquer variável ou expressão entre chaves, assim: {curly braces}.
Hi, my name is Alice! I am 15 years old. Next year I'll be 16. My name has 5 letters. My name in uppercase: ALICE
A mágica está nas chaves, {curly braces}. O Python avalia a expressão que estiver dentro delas, converte o resultado em texto e o encaixa na string.
Você pode colocar quase qualquer coisa dentro das chaves: variáveis, contas, chamadas de função e até comparações. Vamos ver um exemplo mais prático:
Item: coffee Price: $4.5 x 3 Total: $13.5
Compare com o jeito antigo de montar strings, usando + para costurar os pedaços:
name = "Alice"
age = 15
# Have to convert age, lots of + signs
print("Hi, my name is " + name + "!")
print("I am " + str(age) + " years old.")name = "Alice"
age = 15
# Just put variables inside {braces}
print(f"Hi, my name is {name}!")
print(f"I am {age} years old.")O jeito antigo exige str(age) para converter o número em texto manualmente. Lembre-se: você não pode usar + para juntar uma string e um número diretamente.
As f-strings fazem essa conversão automaticamente. Elas são mais limpas, mais rápidas e menos sujeitas a erros. Use-as sempre em código novo.
Juntando tudo: um miniprojeto
Vamos combinar tudo em um pequeno programa. Ele mostra o padrão que você vai usar em todo projeto Python: guardar dados em variáveis, fazer cálculos e exibir os resultados.
============================
TIP CALCULATOR
============================
Meal: $52.50
Tax (8%): $4.20
Subtotal: $56.70
Tip (20%): $11.34
----------------------------
TOTAL: $68.04
============================Não se preocupe com a parte :.2f: ela quer dizer "mostre exatamente 2 casas decimais" (assim, 4.5 aparece como 4.50). Vamos ver formatação em detalhes mais adiante.
O importante é o padrão: guardar dados → fazer cálculos → exibir resultados. Esse é o núcleo de todo programa, tenha ele 10 linhas ou 10.000.
Experimente mudar meal_cost, tax_rate ou tip_rate e executar de novo!
Exercícios práticos
Agora é a sua vez! Estes exercícios vão do mais simples ao mais difícil, e cada um usa o que você aprendeu.
Algumas dicas antes de começar:
Escreva um programa que exiba exatamente:
Hello, Python!O teste verifica se a saída é idêntica, incluindo a vírgula, o espaço e o ponto de exclamação.
Uma refeição custa US$ 24,50, o imposto é de US$ 2,45 e a gorjeta é de US$ 5,00. As variáveis já foram criadas para você.
Calcule o total e exiba-o exatamente neste formato:
Total: $31.95Crie duas variáveis:
name com o valor "Alice"language com o valor "Python"Depois, use uma f-string para exibir:
Hi, I'm Alice and I love Python!Este código deveria calcular a área de um retângulo (largura × altura) e exibi-la. Mas ele tem dois bugs!
Primeiro, execute o código com defeito e leia a mensagem de erro. Depois, corrija os dois bugs para que a saída seja:
Area: 35Resumo: o que você aprendeu neste tutorial
Muito bem, você concluiu seu primeiro tutorial de Python! Veja tudo o que você já sabe:
| Conceito | O que faz | Exemplo |
|---|---|---|
print() | Exibe a saída na tela | print("hello") |
Comentários (#) | Anotações que o Python ignora | # this is a note |
| Strings | Dados de texto entre aspas | "hello" ou 'hello' |
| Inteiros | Números sem parte decimal | 42, -7 |
| Floats | Números decimais | 3.14, 0.5 |
| Operadores matemáticos | + - * / // % ** | 2 ** 10 → 1024 |
type() | Diz qual é o tipo de um dado | type(42) → int |
| Variáveis | Recipientes com nome para guardar dados | age = 15 |
| f-strings | Inserem variáveis em um texto | f"Age: {age}" |
Esses não são conceitos de iniciante que você vai deixar para trás. Eles são a base de todo programa em Python. Até o código mais avançado é uma combinação criativa desses blocos básicos.
O que vem a seguir?
No próximo tutorial, Variáveis e tipos de dados, você vai se aprofundar em como o Python guarda dados. Vai conhecer os booleanos (True/False), o None e a conversão de tipos.
Você também vai descobrir por que 0.1 + 0.2 não é igual a 0.3 em Python (nem em qualquer outra linguagem de programação) e o que fazer a respeito.