Função Input no Python – Pedindo Informações, Inclusive Senhas

Você sabe como usar a função input no Python? Já trabalhou com senhas que precisam estar ocultas? Aprenda a usar o input hoje!

Caso prefira esse conteúdo no formato de vídeo-aula, assista ao vídeo abaixo ou acesse o nosso canal do YouTube!

O que você aprende neste vídeo

Resposta rápida: A função input() exibe uma pergunta, espera a resposta do usuário e devolve sempre um texto. Por isso, valores numéricos precisam ser convertidos com int() ou float() antes dos cálculos. Para solicitar senhas sem mostrar os caracteres digitados, importe e use getpass() no lugar de input().

Neste vídeo (7 min):

  • 0:54 - Criação do primeiro pedido de informação com input()
  • 1:28 - Armazenamento da resposta em uma variável e exibição com print()
  • 2:18 - Demonstração do problema ao tentar calcular com um salário recebido como texto
  • 3:10 - Verificação do tipo retornado pelo input()
  • 3:26 - Conversão da resposta numérica com int() ou float()
  • 4:20 - Limitação do input() comum ao solicitar uma senha
  • 4:46 - Importação da função getpass() para ocultar a digitação
  • 5:10 - Teste da senha mascarada e confirmação do valor guardado na variável
  • 5:49 - Outras formas de receber dados por interfaces e páginas web

Trechos do vídeo:

  • input() pausa a execução até o usuário responder e armazena a resposta como texto.
  • A conversão deve acompanhar o tipo de número esperado: inteiro com int() ou decimal com float().
  • getpass() oculta os caracteres durante a digitação, mas entrega a senha ao código para processamento.

Para receber por e-mail o(s) arquivo(s) utilizados na aula, preencha:

Fala Impressionadores! Na aula de hoje eu quero te mostrar como funciona a função input no Python!

Essa é uma função que permite com que você solicite uma informação ao usuário para que ele possa preencher, seja para responder uma pergunta, seja para fazer o login em um sistema.

Vou te mostrar os cuidados com input no Python, pois por padrão as informações solicitadas são registradas no formato de texto (string), por esse motivo, temos que tomar cuidado ao registrar um número, data ou qualquer outra informação.

Além disso, vou te mostrar como usar a biblioteca getpass para pegar senha do usuário no Python de uma forma oculta, ou seja, essa senha não fica visível mesmo após digitar (o que acontece com as informações do input).

E aí, quer aprender como pegar informações do usuário no Python e como ocultar senha no Python para melhorar seus projetos?

Ícone PythonPython Impressionador

Você vai aprender a linguagem de Programação que mais cresce no Mundo para fazer automações incríveis, desenvolver sites, fazer análises de dados, trabalhar com Ciência de Dados, Inteligência Artificial, mesmo que você nunca tenha tido nenhum contato com Programação na vida.

Começar agoraSeta para a direita
Fundo PythonTelas Python
Luz Python

Para pegar uma resposta do usuário usamos o input, basicamente é uma estrutura que nos permite fazer uma pergunta e disponibiliza um campo para que o usuário coloque a resposta.

Função Input no Python
Pedindo um nome

Assim que o nome é digitado ele é armazenado na variável Nome e pode ser printado em seguida, ou seja, esta informação fica disponível no código.

Função Input no Python
Print

Alguns cuidados que devemos tomar!

Um cuidado importante é quando fazemos uma pergunta que tem como resposta um número.

int
int

Observe que antes do input colocamos o int que significa -> número inteiro, este tratamento é necessário porque por padrão o input vem com o tipo texto -> string

int
int

Se não colocarmos o int, o código vai ver o número 3000 como um texto e não vamos conseguir fazer cálculos com ele.

No caso abaixo retiramos o int e multiplicamos a variável salário por 2, o resultado do programa foi trazer os 3000 mil repetindo-o 2 vezes, porque o programa está considerando o número como texto.

Sem o Int (número inteiro)
Sem o Int (número inteiro)

Tratando de forma correta, colocando o int e depois multiplicando, vamos ter um resultado coerente!

Resultado
Resultado

Senhas

Agora vamos fazer um input de uma senha, nosso objetivo é ocultar a senha enquanto o usuário estiver inserindo o valor.

Para fazer isso, vamos precisar importar uma biblioteca chamada getpass, quando importamos esta biblioteca podemos usá-la no lugar do input.

Quando o usuário digitar a senha o que vai aparecer para ele são pontilhados, porém, se printarmos a senha dentro do código teremos acesso a ela.

Senha oculta - biblioteca getpass
Senha oculta – biblioteca getpass

A função input() pausa o programa, mostra a mensagem que você passar e guarda o que o usuário digitar. O detalhe que mais gera erro é o tipo: o retorno é sempre texto, então número precisa de int() ou float() antes da conta. Para senha oculta, use getpass(), da biblioteca getpass.

Conclusão – Função Input no Python

Bom pessoal fico por aqui com a aula de hoje, com esses recursos podemos fazer várias construções diferentes em Python.

Podemos fazer o login de um usuário em um site, podemos fazer questionários e pesquisas, além da biblioteca getpass que dá mais segurança ao usuário.

E aí? Você já conhecia o input e o getpass?

Se não conhecia ou tinha dúvidas esta aula já te deu mais esse recurso, temos também uma aula falando sobre o que você precisa aprender para trabalhar com Python, vale a pena dar uma olhada!

Eu fico por aqui pessoal! Um abraço,

Perguntas frequentes

1. Por que o input devolve texto mesmo quando eu digito um número?

Porque o Python não tenta adivinhar o tipo: tudo que vem do teclado chega como texto. Para calcular, converta com int() quando for número inteiro ou float() quando tiver casa decimal.

2. Como esconder a senha digitada no terminal?

Use a função getpass(), da biblioteca padrão de mesmo nome: from getpass import getpass e depois senha = getpass('Senha: '). O campo não exibe nada enquanto você digita.

3. Como evitar que o programa quebre quando o usuário digita letra no lugar de número?

Coloque a conversão dentro de um try e trate o ValueError no except, pedindo o valor de novo. Assim o erro vira uma nova pergunta em vez de parar o programa.

4. O input funciona no Jupyter e no Google Colab?

Sim. A diferença é que a caixa de resposta aparece abaixo da célula, e a célula continua em execução até você digitar e apertar Enter.

Hashtag Treinamentos

Para acessar outras publicações de Python, clique aqui!


Quer aprender mais sobre Python com um minicurso básico gratuito?