As duas funções que tornam seu programa interativo
A maioria dos programas Python no começo segue o mesmo formato: pergunta algo ao usuário com input(), faz algo com a resposta e relata com print(). Essas duas funções embutidas são como seu código conversa com o mundo.
Vamos pegar uma de cada vez.
print(): escrevendo saída
No mais simples, print() escreve uma linha de texto no terminal:
Isso gera a palavra hello seguida de uma quebra de linha. A quebra de linha é o que separa uma chamada de print da próxima na tela.
Você pode passar vários valores numa chamada, e o Python coloca um espaço entre eles:
Saída:
Name: Ada Age: 36
Os valores não precisam ser strings. O print chama str() em cada argumento, então você pode misturar tipos livremente:
Mudando o separador
Se um espaço entre valores não é o que você quer, use sep:
Mudando o fim da linha
Por padrão, print adiciona uma quebra de linha. Use end para mudar — por exemplo, para manter a saída na mesma linha:
end="" é o truque para construir uma linha pedaço por pedaço.
print vai para stdout
Por padrão, print escreve no stdout (saída padrão) — o lugar normal onde a saída do terminal aparece. Você pode redirecionar para stderr, um arquivo ou qualquer outro objeto parecido com arquivo com o argumento file:
Para saída formatada — duas casas decimais, colunas alinhadas, vírgulas em números grandes — use f-strings dentro do print:
input(): lendo do usuário
input(prompt) para o programa, mostra o prompt ao usuário e espera. O que quer que o usuário digite — até apertar enter — volta como string.
Três coisas sobre input que pegam os iniciantes:
Sempre retorna uma string
Mesmo que o usuário digite 42, o que você recebe é a string "42". Você não pode fazer aritmética diretamente:
É por isso que você vai ver muito int(input(...)) ou float(input(...)) inline. Se o usuário digita algo que não é um número válido, int() gera ValueError — que vamos tratar direito no capítulo de exceções.
O prompt é opcional
Se você não passa um prompt, input() espera em silêncio, o que é quase sempre a escolha errada — o usuário não tem ideia do que você está pedindo. Sempre passe um prompt claro:
Ele não remove nada
O que quer que o usuário digite, incluindo espaços em branco no começo e no fim, volta exatamente assim. Se isso importa para sua lógica, chame .strip():
Um programa completo pequeno
Juntando tudo — algumas linhas que perguntam informações ao usuário e imprimem um relatorinho:
Doze linhas. Se lê de cima para baixo como instruções, não como código. É esse o estilo que estes docs tentam incentivar.
E quanto ao debug com print?
Você vai ouvir às vezes que "desenvolvedores de verdade usam debugger, não print". É exagero. Print é uma ferramenta de debug perfeitamente boa, principalmente para scripts pequenos e experimentos rápidos. Espalhe chamadas de print com liberdade enquanto está descobrindo algo, e remova quando terminar.
Dois pequenos truques de qualidade de vida:
O = dentro de uma f-string imprime nome e valor, o que poupa muito print("name =", name).
Seguindo em frente
print e input te dão um ciclo de conversa completo: pergunte, leia, responda. O próximo capítulo começa a misturar condições — a instrução if e os operadores que decidem o que seu programa faz com base nos valores que vê.
Perguntas frequentes
O que o print() faz em Python?
Escreve valores no terminal. print("hello") gera hello seguido de uma quebra de linha. Você pode passar vários valores separados por vírgula, e o print() vai colocar um espaço entre eles por padrão.
Como funciona o input() em Python?
input(prompt) pausa o programa, mostra o prompt ao usuário, espera ele digitar algo e apertar enter, e retorna o que foi digitado como string. Sempre uma string — se você quer um número, envolva a chamada em int(...) ou float(...).
Como imprimo na mesma linha em Python?
Passe end="" para o print. Por padrão, print adiciona uma quebra de linha depois da saída; definir end como string vazia (ou qualquer outro caractere) substitui essa quebra.