Tipos de dados Python

Neste tutorial, você aprenderá sobre os diferentes tipos de dados que podem ser usados ​​em Python.

Tipos de dados em Python

Cada valor em Python possui um tipo de dados. Visto que tudo é um objeto na programação Python, os tipos de dados são na verdade classes e as variáveis ​​são instâncias (objetos) dessas classes.

Existem vários tipos de dados em Python. Alguns dos tipos importantes estão listados abaixo.

Números Python

Inteiros, números de ponto flutuante e números complexos se enquadram na categoria de números do Python. Eles são definidos como int, floate complexas classes em Python.

Podemos usar a type()função para saber a qual classe uma variável ou valor pertence. Da mesma forma, a isinstance()função é usada para verificar se um objeto pertence a uma classe particular.

 a = 5 print(a, "is of type", type(a)) a = 2.0 print(a, "is of type", type(a)) a = 1+2j print(a, "is complex number?", isinstance(1+2j,complex)) 

Resultado

5 é do tipo 2.0 é do tipo (1 + 2j) é um número complexo? Verdade

Os inteiros podem ter qualquer comprimento, mas são limitados apenas pela memória disponível.

Um número de ponto flutuante tem precisão de até 15 casas decimais. Os pontos inteiros e flutuantes são separados por pontos decimais. 1 é um número inteiro, 1,0 é um número de ponto flutuante.

Os números complexos são escritos na forma x + yj,, onde x é a parte real ey é a parte imaginária. Aqui estão alguns exemplos.

 >>> a = 1234567890123456789 >>> a 1234567890123456789 >>> b = 0.1234567890123456789 >>> b 0.12345678901234568 >>> c = 1+2j >>> c (1+2j) 

Observe que a floatvariável b foi truncada.

Lista Python

A lista é uma sequência ordenada de itens. É um dos tipos de dados mais usados ​​em Python e é muito flexível. Todos os itens de uma lista não precisam ser do mesmo tipo.

Declarar uma lista é bastante simples. Os itens separados por vírgulas são colocados entre colchetes ( ).

 a = (1, 2.2, 'python') 

Podemos usar o operador de fatiamento ( )para extrair um item ou uma série de itens de uma lista. O índice começa em 0 em Python.

 a = (5,10,15,20,25,30,35,40) # a(2) = 15 print("a(2) = ", a(2)) # a(0:3) = (5, 10, 15) print("a(0:3) = ", a(0:3)) # a(5:) = (30, 35, 40) print("a(5:) = ", a(5:)) 

Resultado

 a (2) = 15 a (0: 3) = (5, 10, 15) a (5 :) = (30, 35, 40) 

As listas são mutáveis, ou seja, o valor dos elementos de uma lista pode ser alterado.

 a = (1, 2, 3) a(2) = 4 print(a) 

Resultado

 (1, 2, 4) 

Python Tuple

Tupla é uma sequência ordenada de itens igual a uma lista. A única diferença é que as tuplas são imutáveis. As tuplas, uma vez criadas, não podem ser modificadas.

Tuplas são usadas para proteger dados contra gravação e geralmente são mais rápidas do que listas, pois não podem ser alteradas dinamicamente.

É definido entre parênteses, ()onde os itens são separados por vírgulas.

 t = (5,'program', 1+3j) 

Podemos usar o operador de fatiamento ()para extrair itens, mas não podemos alterar seu valor.

 t = (5,'program', 1+3j) # t(1) = 'program' print("t(1) = ", t(1)) # t(0:3) = (5, 'program', (1+3j)) print("t(0:3) = ", t(0:3)) # Generates error # Tuples are immutable t(0) = 10 

Resultado

 t (1) = programa t (0: 3) = (5, 'programa', (1 + 3j)) Traceback (última chamada mais recente): Arquivo "test.py", linha 11, em t (0) = 10 TypeError: objeto 'tupla' não suporta atribuição de item 

Python Strings

String é uma sequência de caracteres Unicode. Podemos usar aspas simples ou aspas duplas para representar strings. As strings de várias linhas podem ser denotadas com aspas triplas '''ou """.

 s = "This is a string" print(s) s = '''A multiline string''' print(s) 

Resultado

 Esta é uma string Uma string multilinha 

Assim como uma lista e tupla, o operador de fatiamento ( )pode ser usado com strings. Strings, no entanto, são imutáveis.

 s = 'Hello world!' # s(4) = 'o' print("s(4) = ", s(4)) # s(6:11) = 'world' print("s(6:11) = ", s(6:11)) # Generates error # Strings are immutable in Python s(5) ='d' 

Resultado

 s (4) = os (6:11) = world Traceback (última chamada mais recente): Arquivo "", linha 11, em TypeError: o objeto 'str' não suporta atribuição de item 

Conjunto Python

Set é uma coleção não ordenada de itens exclusivos. O conjunto é definido por valores separados por vírgula entre colchetes ( ). Os itens em um conjunto não são ordenados.

 a = (5,2,3,1,4) # printing set variable print("a = ", a) # data type of variable a print(type(a)) 

Resultado

 a = (1, 2, 3, 4, 5) 

Podemos realizar operações de conjunto como união, interseção em dois conjuntos. Os conjuntos têm valores únicos. Eles eliminam duplicatas.

 a = (1,2,2,3,3,3) print(a) 

Resultado

 (1, 2, 3) 

Uma vez que conjuntos são coleções não ordenadas, a indexação não tem significado. Conseqüentemente, o operador de fatiamento ()não funciona.

 >>> a = (1,2,3) >>> a(1) Traceback (most recent call last): File "", line 301, in runcode File "", line 1, in TypeError: 'set' object does not support indexing 

Dicionário Python

Dicionário é uma coleção não ordenada de pares chave-valor.

Geralmente é usado quando temos uma grande quantidade de dados. Os dicionários são otimizados para recuperar dados. Devemos saber a chave para recuperar o valor.

Em Python, os dicionários são definidos entre colchetes, ()com cada item sendo um par no formulário key:value. A chave e o valor podem ser de qualquer tipo.

 >>> d = (1:'value','key':2) >>> type(d) 

Usamos a chave para recuperar o respectivo valor. Mas não o contrário.

 d = (1:'value','key':2) print(type(d)) print("d(1) = ", d(1)); print("d('key') = ", d('key')); # Generates error print("d(2) = ", d(2)); 

Resultado

 d (1) = valor d ('chave') = 2 Traceback (última chamada mais recente): Arquivo "", linha 9, em KeyError: 2 

Conversão entre tipos de dados

Podemos converter entre tipos de dados diferentes, utilizando as funções de conversão de tipo diferentes, como int(), float(), str(), etc.

 >>> float(5) 5.0 

A conversão de float em int irá truncar o valor (torná-lo mais próximo de zero).

 >>> int(10.6) 10 >>> int(-10.6) -10 

A conversão de e para a string deve conter valores compatíveis.

 >>> float('2.5') 2.5 >>> str(25) '25' >>> int('1p') Traceback (most recent call last): File "", line 301, in runcode File "", line 1, in ValueError: invalid literal for int() with base 10: '1p' 

Podemos até converter uma sequência em outra.

 >>> set((1,2,3)) (1, 2, 3) >>> tuple((5,6,7)) (5, 6, 7) >>> list('hello') ('h', 'e', 'l', 'l', 'o') 

Para converter em dicionário, cada elemento deve ser um par:

 >>> dict(((1,2),(3,4))) (1: 2, 3: 4) >>> dict(((3,26),(4,44))) (3: 26, 4: 44) 

Artigos interessantes...