Olá, Fernando! Tudo bem? Espero que sim
Ambos os métodos são equivalentes pra casos específicos de entradas simples.
Mas uma possibilidade notável de se utilizar o int()
somente depois é o caso de não se ter certeza sobre a confiabilidade do que o usuário digitou. Por exemplo, se por algum motivo você pedir um campo de idade, como no exemplo acima, e o usuário digitar algo como:
>>> How old are you: 20#$
No exemplo acima, o usuário esbarrou sem querer no teclado, enviou a entrada 20#$
e deu Enter muito que rapidamente, não percebeu o erro.
O que acontece nesse caso? O código quebraria e seria retornado um ValueError. O erro abaixo:
ValueError: invalid literal for int() with base 10: '20#$'
O resumo da ópera acima aponta que é interessante fazermos a conversão direta sempre que confiamos bastante que a entrada (input) é um valor possível de ser convertido. Caso contrário, nós temos que passar para outras técnicas, como pedir novamente o input
, ou então fazer alguma manipulação de string como tratamento até ter uma conversão possível.
Um exemplo possível seria varrer a string 20#$
e ignorar tudo o que não fosse um número. Tudo dependeria da situação.
Se ainda tiver alguma dúvida, estou por aqui. Ótimos estudos e grande abraço!
Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓. Bons Estudos!