Já li em algumas literaturas sobre python da função input(), que faz o mesmo da função raw_input(). Qual é a diferença?
Já li em algumas literaturas sobre python da função input(), que faz o mesmo da função raw_input(). Qual é a diferença?
No Python 2.7, usado no curso, as duas funções têm sim diferenças. Imagino que já tenha usado a função raw_input(), geralmente usada pra pegar uma entrada do usuário. raw_input() pega a entrada do usuário e automaticamente converte em string.
Já a função input() exige um tipo de sintaxe um pouco menos funcional para o usuário. Como a outra, você também recebe uma entrada para colocar algo, mas o usuário não pode partir escrevendo o que quiser, porque a entrada não é convertida em string. Podemos, claro, usar aspas para "resolver" isso. Também podemos colocar números, que vão continuar sendo tipos numéricos por não haver conversão automática à string. Com a função input() podemos até colocar uma entrada referenciando à uma variável.
Acabou que a função input() não era tão usada, por simplesmente fazer um trabalho mais complicado do raw_input() e de simples atribuições e chamadas de variável. No Python 3, então, ela deixa de existir (apesar de ser facilmente simulada pela chamada da função eval(input()) ). Também no Python 3, a função raw_input() passa a se chamar apenas input(), mas continua fazendo seu mesmo trabalho.