NOME DURAÇÃO
Curso de Python
Primeira Aula de Python
Como Instalar o Python no Windows
Características do Python
Recursos do Python
IDLE - Modo Interativo do Python
Instalando o PyCharm no Windows
Primeiro programa em Python
Comentários em Python
Indentação do código Python
Variáveis em Python
Características das Variáveis em Python
Nomenclatura das Variáveis em Python
Tipos de dados em Python
Variáveis do tipo Ponto Flutuante do Python
Entrada de Dados em Python
Operadores Aritméticos do Python
Módulo da Divisão em Python
Potenciação e Radiciação em Python
Operadores Relacionais do Python
Tomada de Decisão em Python
Estrutura if e else em Python
Depurando código Python
Operadores Relacionais Compostos do Python
Operadores Relacionais na Prática em Python
Operadores Lógicos em Python
Blocos de Instrução em Python
Blocos de Instrução em Python (Parte II)
Blocos de Instrução Python na Prática
Escopo de Nomes em Python
Estrutura de Atribuição Simples do Python
Atribuição Múltipla em Python
Operadores de Atribuição Compostos do Python
Atribuição Condicional em Python
Iteração em Python
Laços de Repetição do Python
Estrutura de repetição while em Python
A instrução for em Python
A função range() do Python
O for loop e a função range() do Python
Instrução break do Python
Instrução continue em Python
Estruturas de Dados Lista em Python
Lista, Pilha, Array, Set em Python
A classe list do Python
Classe list - Conceitos Avançados do Python
Funções da Classe list do Python
Iteração de Listas em Python
Fatiando Listas em Python
Incluindo, Alterando e Excluindo Elementos no Python
Ordenamento de Listas em Python
Quantidade de Itens em Python
Tuplas em Python
Operadores in e not in do Python
Operadores and, or e in do Python
Exemplo com Operador in em Python
Introdução às Strings em Python
Fatiando Strings com Python
Funções das Strings no Python
Comparação de Strings em Python
Iterando Strings em Python
Introdução aos Dicionários do Python
Dicionários na Prática com Python
Funções dos Dicionários no Python
Introdução às Funções em Python
Parâmetros de Função em Python
Parâmetros default em Python
Argumento de Função Nomeado vs Posicional em Python
Retornando Valores pelas Funções em Python

Nesta aula estudaremos as Tuplas, isto é, uma Estrutura de Dados semelhante as Listas porém imutável.

DEFINIÇÃO DE TUPLA

Tupla é uma Lista imutável. O que diferencia a Estrutura de Dados Lista da Estrutura de Dados Tupla é que a primeira pode ter elementos adicionados a qualquer momento, enquanto que a segunda estrutura, após definida, não permite a adição ou remoção de elementos.

Devemos pensar num primeiro momento, que a Tupla é uma lista que restringe a adição, alteração, remoção e o ordenamento do elementos. No entanto, pensar numa tupla como sendo somente como lista imutável, acaba por ser um erro, até porque, a função de ambas ainda que semelhantes, não é igual. Ou seja, uma tupla possui as mesmas características que fundamentam as Listas, mas um propósito diferente das 2 estruturas e a razão pela qual ambas estão definidas, é bastante diferente e muitas vezes, levamos bastante tempo para realmente perceber tamanha sutileza.

Segundo Phillip J. Eby, contribuidor de diversos projetos do Python e criador da ferramenta Setuptools, numa discussão sobre a remoção das tuplas para a versão 3x do Python, trouxe uma argumentação bastante interessante, diz ele: "É um equívoco pensar nas tuplas como listas constantes. As listas são destinadas a serem sequências homogêneas, enquanto que os Tuplas são estruturas de dados heterogêneas."

Em outras palavras, ele disse que em uma lista, as informações, geralmente são de um mesmo tipo, por exemplo, uma lista de e-mails. Enquanto que numa tupla, os elementos são de tipos distintos, por exemplo, o dia, o dia da semana, o mês e o ano e etc.

Tudo que nós estudamos até o momento a respeito de listas, pode ser utilizado para manipular e controlar uma Tupla, salvo a alteração da lista ou de seus elementos.

>>> t = ("x", "y", 10, 20, "c")
>>> t
("x", "y", 10, 20, "c")
>>> t[0]
"x"
>>> t[-1]
"c"
>>> t[1:3]
('y', 10, 20)
  1. Uma Tupla é definida da mesma forma que uma lista, o que as diferencias, são os caracteres que as delimitam. Uma Lista, tem seus elementos delimitados por colchetes, enquanto que um Tupla, tem seus elementos delimitados por parêntesis.
  2. A ordem dos elementos numa Tupla será a ordem na qual os elementos foram definidos, ou seja, não é possível ordenar em tempo de execução os elementos.
  3. O primeiro elemento de uma Tupla também possui índice igual a 0 e o último índice igual a -1. Assim o acesso a elementos, bem como o fatiamentos funciona da mesma forma como já estudado no fatiamento de Listas.

NOTAÇÃO

O parêntesis é a notação que determina um conjunto de elementos pertencentes a Tupla, essa é a definição padrão. No entanto, na prática, toda sequência de elementos separados por vírgula será reconhecido pela linguagem como sendo uma Tupla.

No código a seguir, vamos obter o tipo reconhecido pelo Python.

>>> type((1,2,3))
<class 'tuple'>

>>> x = 1,2,3
>>> type(x)
<class 'tuple'>

>>> y = "a", 1, True
>>> type(y)
<class 'tuple'>

>>> z = (True, True, False)
>>> type(z)
<class 'tuple'>

No código acima, definimos algumas estruturas e logo em seguida, verificamos o tipo reconhecido pelo Python, como podemos ver, em todos os casos, a estrutura reconhecida foi sendo a Tupla.

CONCLUSÃO RÁPIDA DAS TUPLAS

Todas as ideias estudadas até o momento em relação as listas, servem também, para a estrutura Tupla, com a ressalva de que não é possível adicionar ou remover novos elementos durante o tempo de execução.

Porém, a Iteração, junção e a ideia de elementos como sendo Objetos, são os mesmos e possuem o mesmo funcionamento.

DECLARAÇÃO DE TUPLAS

Uma Tupla é uma estrutura que contém nenhum ou vários elementos. Os elementos de uma Tupla devem ser separados por vírgulas e delimitados por parêntesis. Uma sequência qualquer, onde cada os elementos estão separados por parêntesis é reconhecido pela linguagem como sendo um tupla, mesmo que os elementos não estejam delimitados por colchetes.

As tuplas são declaradas de maneira bastante semelhante as Listas, onde os elementos são separados pelo uso de vírgulas e ambas as estruturas são delimitadas por uma simbologia e está acaba por definir a estrutura. Para a VM do Python, uma série de objetos separados por vírgula e na ausência de um delimitador nas extremidades será considerado uma Tupla.

No código abaixo, definiremos uma Tupla contendo alguns dias da semana.

>>> dias_da_semana = ("domingo", "segunda", "terça", "quarta", )
>>> dias_da_semana
("domingo", "segunda", "terça", "quarta")

Podemos rapidamente perceber a enorme semelhança entre a definições de Listas e Tuplas.

Podemos declarar as Tuplas de maneira implícita e explicita, como podemos ver no exemplo a seguir:

#declaração explicita
>>> t1 = tuple("abc")
>>> t1
('a', 'b', 'c')

#declaração implicita
>>> t2 = ("a", "b", "c")
>>> t2
('a', 'b', 'c')

#declaração implicita igual a declaração anterior
>>> t3 = "a", "b", "c"
>>> t3
('a', 'b', 'c')

No código acima, declaramos inicialmente uma Tupla com uso da notação explicita, isto é, passamos um String como parâmetro na inicialização da estrutura tuple. Em seguida, implementamos 2 códigos que possuem o mesmo resultado, utilizando assim, as 2 notação de tuple implicitadas da linguagem Python.

VEJA TAMBÉM



Tags curso, python

Comentários

comments powered by Disqus