Buscar

Aula 07 Programação Python

Prévia do material em texto

Programação Python
Professor MSc. Heleno Cardoso
Aula 07
	Tipos de dados aglomerados:	
	Listas, Registros e Tuplas
Professor MSc. Heleno Cardoso
Python – Tipo de Dados Aglomerados
Um tipo aglomerado é um tipo abstrato de informação que é composto exclusivamente pela aglomeração de outros tipos abstratos, por exemplo, listas, registos e tuplas não nomeadas e tuplas nomeadas em Python. 
Python – TDados Aglomerados Listas
Em Python, uma lista é representada como uma sequência de objetos separados por vírgula e dentro de colchetes [], cada valor na lista é identificado por um índice.
Lista: Estrutura: nome da lista, elemento (conteúdo da lista) e índice (posição do elemento na lista).
Python – TDados Aglomerados Listas
Podem guardar dados de tipos diferentes (Métodos)
– Pode ser criadas com ou sem elementos
– Podemos adicionar elementos com append, insert
– Podemos excluir elementos com pop ou remove
– Podemos modificar um elemento da lista
– Podemos imprimir (print) a lista
– Podemos percorrer elementos da lista.
Python – TDados Aglomerados Listas
Exemplo Lista: umaLista = [1, 4, 8, 5, 7, 9]
Imprimindo um único elemento: print(umaLista[2]) => 8
Seleciona tudo até o indicado com”:” Atenção: Exclui o último elemento.
 Ex.: print(umaLista[:3]) => 1, 4, 8
Python – TDados Aglomerados Listas
Exemplo Lista: umaLista = [1, 4, 8, 5, 7, 9]
Seleciona tudo até o indicado com”:” Atenção: Exclui o último elemento.
 Ex.: print(umaLista[1:3]) => 4, 8
Seleciona faixa, da posição informada até o fim com ”:”
 Ex.: print(umaLista[2:]) => 8, 5, 7, 9
Python – TDados Aglomerados Listas
Exemplo Lista: umaLista = [1, 4, 8, 5, 7, 9]
Seleciona faixa, “de tanto em tanto” com”::”
 Ex.: print(umaLista[::2]) => 1, 8, 5, 7
Seleciona faixa, da posição e inicial com ”:”
 Ex.: print(umaLista[1::3]) => 4, 7
Python – TDados Aglomerados Listas
Exemplo Lista: umaLista = [1, 4, 8, 5, 7, 9]
Apagar, uma faixa da lista com del
 Ex.: del umaLista[1..3]; print(umaLista)
Apagar lista totalmente
 Ex.: del umaLista
Python – TD Aglomerados Registros
É uma forma de criar novos tipos de dados...
Agrupando tipos diferentes de maneira organizada
Struct (C, C++, Fortran, F# (F Sharp .NET)
Class (Java, Python, etc)
Forma realmente um “grupo de dados”
– O tipo de grupo é nomeado
– Na memória os dados ficam contíguos (≠ listas!)
O tipo de grupo é nomeado
– Na memória os dados ficam contíguos (≠ listas!)
Exemplo: Aluno (Matricula int, Nome str, Media float)
Aluno
Matricula int
Nome string
Media float
Python – TD Aglomerados Registros
Registro (Exemplo: linguagem C)
 
#include <iostream>	
using namespace std;
struct Cliente {
char nome[200];
char cpf[11];
float limite;
int compras
};
int main() {
struct Cliente umCliente;
strcpy(umCliente.nome, "Fulano";
strcpy(umCliente.cpf, "01234567890";
umCliente.limite = 5000.0;
umCliente.compras = 0;
}
Python – TD Aglomerados Registros
Registro (Exemplo: Python)
 
import struct
Cliente = ('200s 11s f I')
umCliente = struct.pack(Cliente, b"Fulano",
b"01234567890", 5000.00, 0)
print(umCliente)
print(struct.unpack(Cliente, umCliente))
Python – TD Aglomerados Registros
Registos em Pyhton: sem nomes dos campos
– Foco primário: trocar dados com C/C++
• Como guardar dados organizados em Python?
– Forma mais conveniente... Tuplas nomeadas.
Python – TDados Aglomerados Tuplas
Agrupamentos de dados não nomeados 
– Existe em Python, F#... 
– É como definir um registro, porém imutável 
 Em Python são dados separados por vírgulas 
– Mas usualmente indicamos parênteses 
Python – TDados Aglomerados Tuplas
Exemplo1:
umaTupla = (15, 9.4, “pera”)
print(umaTupla)
Python – TDados Aglomerados Tuplas
Exemplo2:
cliente = (“Julia Cardoso", "01234567890", 7000.0, 17)
print (cliente)
Nota: O acesso é como em lista (: e ::)
	 Tupla, não podemos mudar um elemento!
Python – TDados Aglomerados Tuplas
cliente[1] = "1234“ # Tupla, error, não pode alterar.
Apagando uma Tupla
del Tupla
	Exemplo: del cliente
Python – TDados Aglomerados Tuplas
Tupla Nomeada
Similar a struct em C. Os campos, porém, são imutáveis.
from collections import namedtuple
Cliente = namedtuple("Cliente", "nome, cpf limite compras“)
umCliente = Cliente("Fulano", "01234567890", 5000.0, 0)
print (umCliente)
print(umCliente.cpf)
Leitura Específica
[1] Site:
 https://www.w3schools.com/python/python_variables.asp
[2] Site: https://docs.python.org/pt-br/3/tutorial/
Aprenda+
[1] https://www.programiz.com/python-programming/variables-constants-literals
[2] https://www.programiz.com/python-programming/examples/swap-variables
- Tuplas Nomeadas
[3] https://www.youtube.com/watch?v=IkoaXbLsUg8
Dinâmica/Atividades
Exercícios de Fixação
	Desafios em Sala de Aula.
Referências Bibliográficas
[1] SEBESTA, Robert W. Conceitos de Linguagens de Programação. 11. edição. Porto Alegre: Bookman, 2018., Capítulo 1 (Preliminares).
[2] BORGES, Luiz Eduardo. Python para desenvolvedores: aborda Python 3.3. Novatec Editora, 2014.
[3] file:///F:/YduqsArea1/14%20WydenArea1Python/ARA0066_aula07%20Tuplas.pdf
Programação Python
Professor M.Sc. Heleno Cardoso

Continue navegando