Android

Como converter strings em números inteiros em python

Aulas Python - 047 - Strings IV: Padrão ASCII, Comparações e Operador in

Aulas Python - 047 - Strings IV: Padrão ASCII, Comparações e Operador in

Índice:

Anonim

Todos os tipos de dados no Python, incluindo números inteiros e strings, são objetos. Freqüentemente, ao escrever o código Python, você precisará converter um tipo de dados para outro. Por exemplo, para executar uma operação matemática em um número representado como uma sequência, ela precisa ser convertida em um número inteiro.

Neste tutorial, mostraremos como converter uma string Python em um número inteiro.

Função int() Python

A função int() retorna um objeto inteiro decimal de um determinado número ou sequência. Assume o seguinte formato:

int(x, base=10)

A função `aceita dois argumentos:

  • x - String ou número a ser convertido em um número inteiro. base - Representa o sistema numérico do primeiro argumento. Seu valor pode ser 0 e 2–36. Se nenhuma base for fornecida, o padrão é 10 (número inteiro decimal).

Geralmente, números inteiros são expressos em notação hexadecimal (base 16), decimal (base 10), octal (base 8) ou binária (base 2).

Se o argumento fornecido não puder ser representado como um número inteiro, a função lançará uma exceção ValueError .

Convertendo uma String Python em Inteiro

No Python, uma 'string' é uma lista de caracteres declarada usando aspas simples ( ' ), duplas ( " ) ou triplas ( """ ).

Se uma variável que contém apenas números for declarada usando aspas, seu tipo de dados será definido como String. Considere o seguinte exemplo:

days = "23" type(days)

A função type() mostra que days é um objeto String.

Vamos tentar fazer uma operação matemática na variável:

print(days+5)

Python lançará um erro de exceção TypeError porque não podemos executar um cálculo de adição com string e número inteiro:

Traceback (most recent call last): File " ", line 1, in TypeError: cannot concatenate 'str' and 'int' objects Traceback (most recent call last): File " ", line 1, in TypeError: cannot concatenate 'str' and 'int' objects Traceback (most recent call last): File " ", line 1, in TypeError: cannot concatenate 'str' and 'int' objects

Para converter uma representação de string de um número inteiro decimal em int , passe a string para a função int() , que retorna um número inteiro decimal:

days = "23" days_int = int(days) type(days_int)

print(days_int+5)

28

Se o número incluir vírgulas, marcando milhares, milhões, etc., você precisará remover as vírgulas antes de passar o número para a função int() :

total = "1, 000, 000" int(total.replace(", ", ""))

1000000

Ao converter seqüências que representam números inteiros em diferentes sistemas numéricos, certifique-se de usar a base correta.

Por exemplo, no sistema hexadecimal, o número 54732 é representado como D5CF . Para convertê-lo em um número inteiro decimal, você precisa usar a base 16:

int("D5CF", 16)

54735

Se você passar a sequência D5CF para a função int() sem definir uma base, ela emitirá uma exceção ValueError :

int("D5CF")

Traceback (most recent call last): File " ", line 1, in ValueError: invalid literal for int() with base 10: 'D5CF' Traceback (most recent call last): File " ", line 1, in ValueError: invalid literal for int() with base 10: 'D5CF' Traceback (most recent call last): File " ", line 1, in ValueError: invalid literal for int() with base 10: 'D5CF'

Conclusão

No Python, você pode converter uma string em um número inteiro usando a função int() .

Pitão