Skip to content

Domine a Conversão de String em Int em Python com Exemplos

Python é uma linguagem de programação versátil que oferece uma ampla variedade de funções e recursos embutidos para lidar com diferentes tipos de dados. Um cenário comum em programação Python é a conversão de strings em inteiros ou outros tipos de dados. Neste artigo, exploraremos a conversão de tipo, as funções embutidas e as técnicas de manipulação de erros para converter efetivamente strings em inteiros em Python.

Quer criar rapidamente Visualização de Dados a partir de Dataframe Python Pandas sem nenhum código?

PyGWalker é uma biblioteca Python para Análise de Dados Exploratória com Visualização. PyGWalker (opens in a new tab) pode simplificar seu fluxo de trabalho de análise e visualização de dados no Jupyter Notebook, transformando seu dataframe Pandas (e dataframe polars) em uma interface de usuário no estilo Tableau para exploração visual.

PyGWalker para visualização de dados (opens in a new tab)

O que é Conversão de Tipo em Python?

A conversão de tipo é o processo de converter um tipo de dado em outro. Em Python, tipos de dados como strings, inteiros e floats podem ser convertidos usando funções embutidas, que simplificam a manipulação e a conversão de tipos de dados. Isso é essencial ao realizar operações matemáticas, manipular entrada do usuário e trabalhar com estruturas de dados.

Convertendo uma String em um Inteiro em Python

Em Python, a função int() é usada para converter strings em inteiros. Essa função embutida aceita uma string e retorna sua representação inteira se a string contiver um número válido. Por exemplo:

string_num = "42" int_num = int(string_num) print(int_num)  # Saída: 42

No entanto, se a string contiver caracteres não numéricos ou zeros à esquerda, talvez seja necessário usar técnicas adicionais para garantir uma conversão bem-sucedida.

Todos os Tipos de Dados Podem Ser Convertidos entre Si em Python?

Nem todos os tipos de dados podem ser diretamente convertidos uns em outros em Python. Por exemplo, você não pode converter uma lista em um inteiro ou um booleano em um float diretamente. No entanto, você pode usar conversões intermediárias para obter o resultado desejado. Python fornece várias funções embutidas para conversão de tipo de dados, como str(), float() e bool().

Outras Funções Embutidas para Conversão de Tipo de Dados em Python

Python oferece várias funções embutidas para conversão entre diferentes tipos de dados:

  • float(): Converte um número ou uma string em um float.
  • bool(): Converte um valor em um booleano.
  • str(): Converte um valor em uma string.

Técnicas de manipulação de erros para conversão de String para Inteiro

Ao converter strings em inteiros em Python, é essencial manipular possíveis erros elegantemente. Uma abordagem é usar um bloco try-except, que captura exceções e permite definir um comportamento personalizado em caso de erro de conversão. Por exemplo:

string_num = "42a"
 
try:
    int_num = int(string_num)
except ValueError:
    int_num = None
    print("Entrada inválida")
 
print(int_num)  # Saída: None

Convertendo uma string com zeros à esquerda em um inteiro em Python

Para converter uma string com zeros à esquerda em um inteiro, você pode simplesmente usar a função int():

string_num = "0042"
int_num = int(string_num)
print(int_num)  # Saída: 42

A função int() remove automaticamente os zeros à esquerda e converte a string para sua representação inteira. No entanto, se você precisar reter os zeros à esquerda na saída, pode converter o inteiro de volta para uma string com um número especificado de caracteres usando o método str.zfill():

string_num = "0042"
int_num = int(string_num)
output_string = str(int_num).zfill(4)
print(output_string)  # Saída: "0042"

Converter String em Int em um Dicionário em Python

Ao trabalhar com dicionários, você pode encontrar situações em que precisa converter valores de string em inteiros. Uma abordagem é usar uma compreensão de dicionário, que permite criar um novo dicionário com os valores convertidos:

input_dict = {'a': '42', 'b': '12', 'c': '7'}
 
output_dict = {key: int(value) for key, value in input_dict.items()}
print(output_dict)  # Saída: {'a': 42, 'b': 12, 'c': 7}

Se você precisar manipular possíveis erros durante o processo de conversão, use um bloco try-except dentro da compreensão do dicionário:

input_dict = {'a': '42', 'b': '12', 'c': '7', 'd': 'inválido'}
 
output_dict = {key: (int(value) if value.isdigit() else None) for key, value in input_dict.items()}
print(output_dict)  # Saída: {'a': 42, 'b': 12, 'c': 7, 'd': None}

Convertendo String em Int em Python sem Usar a Função int()

Em alguns casos, você pode querer converter uma string em um inteiro sem usar a função int(). Você pode fazer isso usando a função ord(), que retorna o ponto de código Unicode para um caractere dado, e um loop para calcular o valor inteiro da string:

string_num = "42"
 
int_num = 0
for char in string_num:
    int_num = int_num * 10 + (ord(char) - ord('0'))
 
print(int_num)  # Saída: 42

Este método não manipula erros e casos extremos, então é melhor usar a função int() sempre que possível.

Conclusão

Em conclusão, converter strings em inteiros em Python é uma tarefa comum que pode ser realizada usando conversão de tipos, funções integradas como int(), e técnicas de manipulação de erros. Ao entender esses métodos e explorar tópicos relacionados, você pode se tornar mais proficiente na programação Python e manipulação de tipos de dados.

Para expandir ainda mais seu conhecimento de Python e conversão de tipos, confira nossos outros guias sobre tópicos como como verificar sua versão do Python, como executar scripts Python e quanto tempo leva para aprender Python.