Você está na página 1de 74

ANÁLISE DE DADOS

COM PYTHON
Por Dino Magri
Contatos

• E-mail: professor.dinomagri@gmail.com

• Twitter: https://twitter.com/dinomagri

• LinkedIn: http://www.linkedin.com/in/dinomagri
Currículo
• (2014-Presente) – Professor no curso de Extensão, Pós e MBA na Fundação Instituto de
Administração (FIA) – www.fia.com.br

• (2018-Presente) – Pesquisa e Desenvolvimento de Big Data e Machine Learning na


Beholder (http://beholder.tech)

• (2013-2018) – Pesquisa e Desenvolvimento no Laboratório de Arquitetura e Redes de


Computadores (LARC) na Universidade de São Paulo – www.larc.usp.br

• (2012) – Bacharel em Ciência da Computação pela Universidade do Estado de Santa


Catarina (UDESC) – www.cct.udesc.br

• (2009/2010) – Pesquisador e Desenvolvedor no Centro de Computação Gráfica –


Guimarães – Portugal – www.ccg.pt

• Lattes: http://lattes.cnpq.br/5673884504184733

3 Aula 4 - Introdução ao Python - Prof. Dino Magri


Material das aulas

• Material e exercícios

• https://urls.dinomagri.com/python-t1

• Grupo de WhatsApp

• http://bit.ly/py-t1

4 Aula 4 - Introdução ao Python - Prof. Dino Magri


Breve Revisão

Realizar os 5 exercícios disponíveis no arquivo:

aula4-parte0-revisao.ipynb

5 Aula 4 - Introdução ao Python - Prof. Dino Magri


Exercício 1

• Escreva um programa para verificar a quantidade de


letras maiúsculas e minúsculas da seguinte frase
"Programando em Python na FIA!!!".

• Utilize um dicionário para salvar a quantidade de vezes


que cada caractere aparece.

• Utilize estruturas de repetição e controle.

6 Aula 4 - Introdução ao Python - Prof. Dino Magri


Exercício 1 - Resposta
frase = "Programando em Python na FIA!!!"

dicionario = {"Maiusculas" : 0, "Minusculas" : 0, "Outros" : 0}

for letra in frase:

if letra.isupper():

dicionario["Maiusculas"] += 1

elif letra.islower():

dicionario["Minusculas"] += 1

else:

dicionario["Outros"] += 1

print(dicionario)

7 Aula 4 - Introdução ao Python - Prof. Dino Magri


Exercício 2

• Escreva um programa para imprimir apenas o


caracteres (a, e, i, o, u) da seguinte frase "Estou
programando em Python". Precisa tratar o caso
de ser maiúscula e minúscula. Utilize estruturas de
repetição e controle.

8 Aula 4 - Introdução ao Python - Prof. Dino Magri


Exercício 2 - Resposta

frase = "Estou programando em Python"

for c in frase.lower():

if c in ('a', 'e', 'i', 'o', 'u'):

print(c, end=' ')

9 Aula 4 - Introdução ao Python - Prof. Dino Magri


Exercício 3

• Escreva um programa em Python que irá somar


todos os elementos numéricos da lista. Lembre-se
de tratar possíveis erros. Utilize a seguinte lista para
resolver o exercício:

l3 = [6, 1.5, 2, -8, 'a', 'b', (1.5, 2)]

10 Aula 4 - Introdução ao Python - Prof. Dino Magri


Exercício 3 - Resposta
total = 0

for n in l3:

try:

total += n

except:

pass

print("Total =", total)

11 Aula 4 - Introdução ao Python - Prof. Dino Magri


Exercício 4
• Escreva uma função em Python que receba 2 parâmetros do tipo
string. A função deve retornar a string que tiver o maior tamanho. É
necessário realizar o tratamento de possíveis erros.

• Teste a função com as seguintes situações:


maior_str('FIA', 'python') -> python

maior_str('maria', 'ana') -> maria

maior_str('python', 'codigo') -> python e codigo tem o mesmo tamanho

maior(10, 20) -> Precisa ser do tipo str

12 Aula 4 - Introdução ao Python - Prof. Dino Magri


Exercício 4 - Resposta
def maior_str(s1, s2):

if isinstance(s1, str) and isinstance(s2, str):

if len(s1) > len(s2):

print(s1)

elif len(s2) > len(s1):

print(s2)

else:

print(f"{s1} e {s2} tem o mesmo tamanho")

else:

return "Precisa ser do tipo str"

13 Aula 4 - Introdução ao Python - Prof. Dino Magri


Exercício 5
• Escreva uma função em Python que receba 3 parâmetros numéricos. A função
deve retornar o maior deles. É necessário realizar o tratamento de possíveis erros.
Por exemplo, se o usuário digitar um caractere a seguinte mensagem de erro
deve aparecer: "Digite apenas números".

• Teste a função com as seguintes situações:


maior(10, 20, 30) -> 30

maior(-1, -2, -3) -> -1

maior('a', 10, 20) -> Digite apenas números

maior(10, 20, [1, 2]) -> Digite apenas números

maior(1.1, 1.2, 1.3) -> 1.3

14 Aula 4 - Introdução ao Python - Prof. Dino Magri


Exercício 5 - Resposta
def maior(x, y, z):

tipos = (int, float)

if not isinstance(x, tipos) or not isinstance(y, tipos) or not isinstance(z, tipos):

return 'Digite apenas números'

else:

if x > y and x > z:

return(x)

elif y > z:

return(y)

else:

return(z)

15 Aula 4 - Introdução ao Python - Prof. Dino Magri


Aula 04 – Introdução ao
Python
Agenda

• Objetivo

• Programação Orientada a Objetos

• Classes e Objetos

• Exercícios

17 Aula 4 - Introdução ao Python - Prof. Dino Magri


Agenda

• Objetivo

• Programação Orientada a Objetos

• Classes e Objetos

• Exercícios

18 Aula 4 - Introdução ao Python - Prof. Dino Magri


Objetivo

• O objetivo dessa aula é entender o conceito de


Programação Orientada a Objetos para facilitar a
reutilização de código.

19 Aula 4 - Introdução ao Python - Prof. Dino Magri


Agenda

• Objetivo

• Programação Orientada a Objetos

• Classes e Objetos

• Exercícios

20 Aula 4 - Introdução ao Python - Prof. Dino Magri


Programação Orientada a Objetos

• Existem diversos sistemas de alta complexidade.

• Quanto maior o sistema fica, mais complexo e mais


suscetíveis a erros.

• Com isso, para atingir a qualidade e produtividade


necessária é importante REUTILIZAR códigos.

21 Aula 4 - Introdução ao Python - Prof. Dino Magri


Programação Orientada a Objetos

• Um paradigma é uma forma de abordar um problema.

• Até agora utilizamos o paradigma estruturado:


• Sequência procedimento

• Decisão procedimento
Dados
• Repetição procedimento Globais
procedimento

22 Aula 4 - Introdução ao Python - Prof. Dino Magri


Programação Orientada a Objetos

• Hoje em dia o paradigma estruturado foi superado pelo


paradigma orientado a objetos.

• Programação orientada a objetos consiste em utilizar


objetos computacionais para implementar as
funcionalidades de um sistema.

• Tudo é um OBJETO!

23 Aula 4 - Introdução ao Python - Prof. Dino Magri


Programação Orientada a Objetos

método

método Dados-Objeto
procedimento

procedimento
método
Dados
procedimento Globais método Dados-Objeto
procedimento

método

método Dados-Objeto

24 Aula 4 - Introdução ao Python - Prof. Dino Magri


Programação Orientada a Objetos

• Objetos são entidades que possuem dados e instruções


sobre como manipular estes dados.

• Objetos estão ligados à solução do problema.

Exemplo de Software Objetos


Software Gráfico Círculos, Linhas, Quadrados, entre outros
Software Banco de Dados Tabelas, Linhas, Campos, entre outros
Software Comercial Pedidos, Produtos, Clientes

25 Aula 4 - Introdução ao Python - Prof. Dino Magri


Programação Orientada a Objetos

• Um programa é uma coleção de objetos dizendo uns


aos outros o que fazer.

• Para fazer uma requisição a um objeto envia-se uma


mensagem para este objeto.

• Uma mensagem é uma chamada de um método


pertencente a um objeto particular.

26 Aula 4 - Introdução ao Python - Prof. Dino Magri


Programação Orientada a Objetos

• Todo objeto tem um tipo.

• Cada objeto é uma instância de uma classe, onde a


classe define um tipo.
• Classe Cachorro, objeto Jack.

27 Aula 4 - Introdução ao Python - Prof. Dino Magri


Programação Orientada a Objetos

• Podemos descrever o cachorro Jack por seus atributos


físicos:
• É grande

• Sua cor principal é dourado

• Olhos pretos

• Rabo grande

28 Aula 4 - Introdução ao Python - Prof. Dino Magri


Programação Orientada a Objetos

• Podemos descrever algumas ações do cachorro Jack:


• Balança o rabo

• Foge e deita quando leva bronca

• Late quando ouve um barulho

• Atende quando o chamamos pelo nome

29 Aula 4 - Introdução ao Python - Prof. Dino Magri


Programação Orientada a Objetos

• Podemos representar o cachorro Jack:


• Propriedades (atributos): • Métodos (ações):
• cor_corpo : dourado • balançar_rabo()
• cor_olhos : preto • latir()
• altura : 58 cm • correr()
• peso : 30 kg • deitar()
• idade : 6 • sentar()

30 Aula 4 - Introdução ao Python - Prof. Dino Magri


Programação Orientada a Objetos

• Podemos representar o cachorro Jack:


Cachorro
cor_corpo : string
cor_olhos : string
Atributos altura : float
peso : float
idade : int
balancar_rabo()
latir()
Métodos correr()
deitar()
recuperar_idade()

31 Aula 4 - Introdução ao Python - Prof. Dino Magri


Programação Orientada a Objetos
• Um objeto é qualquer coisa, real ou abstrata, sobre a qual armazenamos
dados e realizamos operações que manipulam tais dados.

• Um objeto de uma classe possui:


• Atributos: que são características ou propriedades que definem o objeto.
• Métodos: conjunto de ações pré-definidas (métodos)

• Em resumo, a expressão orientada a objetos significa que:


• O aplicativo é organizado como uma coleção de objetos que incorporam tanto
a estrutura como o comportamento dos dados.

• Objetos pertencem à classes.

32 Aula 4 - Introdução ao Python - Prof. Dino Magri


Agenda

• Objetivo

• Programação Orientada a Objetos

• Classes e Objetos

• Exercícios

33 Aula 4 - Introdução ao Python - Prof. Dino Magri


Classes e Objetos
• Abstrações utilizadas para representar um conjunto de objetos com
características e comportamento idênticos.

• Uma classe pode ser visto como uma fábrica de objetos.

• Objetos são instâncias de uma classe. Todos os objetos são instâncias de


alguma classe.

• Todos os objetos de uma classe são idênticos no que diz respeito a sua
interface e implementação.

• O que difere um objeto de outro é seu estado e sua identidade.

34 Aula 4 - Introdução ao Python - Prof. Dino Magri


Classes e Objetos
Instância Instância
Jack
Classe Luna
Cachorro Cachorro Cachorro

cor_corpo : dourado cor_corpo : string cor_corpo : preto

cor_olhos : preto cor_olhos : string cor_olhos : preto

altura : 58.4 altura : float altura : 25.5

peso : 30.0 peso : float peso : 7.5

idade : 6 idade : int idade : 3

balancar_rabo() balancar_rabo() balancar_rabo()

latir() latir() latir()

correr() correr() correr()

deitar() deitar() deitar()

recuperar_idade() recuperar_idade() recuperar_idade()

35 Aula 4 - Introdução ao Python - Prof. Dino Magri


Classes e Objetos
Instância Instância
Jack • ATRIBUTOS descrevem as Luna
Cachorro Cachorro
características das instâncias de
cor_corpo : dourado cor_corpo : preto
uma classe.
cor_olhos : preto cor_olhos : preto
• Seus valores definem o estado
altura : 58.4 altura : 25.5
do objeto.
peso : 30.0 peso : 7.5
• O estado de um objeto pode
idade : 6 idade : 3
mudar ao longo de sua
balancar_rabo() balancar_rabo()
existência.
latir() latir()
• A identidade de um objeto,
correr() correr()
contudo nunca muda.
deitar() deitar()

recuperar_idade() recuperar_idade()

36 Aula 4 - Introdução ao Python - Prof. Dino Magri


Classes e Objetos
Instância Instância
Jack • MÉTODOS representam o Luna
Cachorro comportamento das instâncias Cachorro

cor_corpo : dourado de uma classe. cor_corpo : preto

cor_olhos : preto • Correspondem às ações das cor_olhos : preto

altura : 58.4 instâncias de uma classe. altura : 25.5

peso : 30.0 peso : 7.5

idade : 6 idade : 3

balancar_rabo() balancar_rabo()

latir() 6 luna.recuperar_idade() 3 latir()

correr() jack.recuperar_idade() correr()

deitar() deitar()

recuperar_idade() recuperar_idade()

37 Aula 4 - Introdução ao Python - Prof. Dino Magri


Classes e Objetos

• Como vimos a classe fornece um conjunto de


comportamentos na forma de métodos (funções), com
implementações que são comuns a todas as instâncias
dessa classe.
Pessoa • Atributos: nome, idade

38 Aula 4 - Introdução ao Python - Prof. Dino Magri


Classes e Objetos
class Pessoa:

def __init__(self, nome, idade):

self.nome = nome

self.idade = idade

• Para criar uma classe em Python, temos as seguintes regras:


• Deve iniciar com a palavra class seguida do nome da classe com a primeira letra em maiúscula.

• Deve terminar com dois pontos no final da linha para abrir o bloco de código.

• Toda classe associa atributos e métodos numa só estrutura. Um objeto é uma variável cujo tipo é uma classe,
ou seja, um objeto é um instância de uma classe.

• Deve conter os métodos que serão utilizados.

39 Aula 4 - Introdução ao Python - Prof. Dino Magri


Classes e Objetos
class Pessoa:

def __init__(self, nome, idade):

self.nome = nome

self.idade = idade

</> Abra o arquivo "aula4-parte1-classes.ipynb"

40 Aula 4 - Introdução ao Python - Prof. Dino Magri


Classes e Objetos
class Pessoa:

def __init__(self, nome, idade):

self.nome = nome

self.idade = idade

• Quando instanciamos a classe, internamente, é realizado uma chamada do método especial


__init__ que serve como construtor da classe. A quantidade de parâmetros definidos no
__init__ deve ser passado como parâmetro quando a classe for instanciada.

• A principal responsabilidade é estabelecer o estado do novo objeto com a instância


apropriada das variáveis.

41 Aula 4 - Introdução ao Python - Prof. Dino Magri


Classes e Objetos
class Pessoa:

def __init__(self, nome, idade):

self.nome = nome

self.idade = idade

• O self, identifica a instância em que um método é invocado.

• Todos os métodos de instâncias devem declarar o self como primeiro parâmetro!

• Todos os acessos a atributos (inclusive métodos) das instâncias devem ser feitos via
referência explicita a self.

42 Aula 4 - Introdução ao Python - Prof. Dino Magri


Classes e Objetos
• Como podemos instanciar e estabelecer esse novo objeto?

>>> maria = Pessoa()

>>> maria = Pessoa('Maria', 30)

• Como podemos recuperar o nome e a idade?

>>> maria.nome

>>> maria.idade

• E se for preciso alterar a idade para 31?

>>> maria.idade = 31

43 Aula 4 - Introdução ao Python - Prof. Dino Magri


Exercício
• Modifique a classe Pessoa adicionando os seguintes
atributos.
Pessoa
• Apenas os atributos nome e idade são obrigatórios. nome : str
idade : int
• O método recuperar_info() deve imprimir todos os peso : float
atributos. altura : float
passatempos : list
• Os métodos falar() e andar() retornam as seguintes falar()
strings: andar()
• "{} está falando" recuperar_info()

• "{} está andando" </> Abra o arquivo "aula4-parte1-classes.ipynb"

44 Aula 4 - Introdução ao Python - Prof. Dino Magri


Exercício

• Para testar, realize a instância da classe Pessoa para os objetos


(variáveis) maria e pedro.
Instância - maria Instância - pedro
Pessoa Pessoa
nome : Maria nome : Pedro
idade : 25 idade : 30
peso : 65.5 peso : 85.5
altura : 1.72 altura : 1.83
passatempos : videogames, passatempos : vôlei, livros e
futebol e programação programação

45 Aula 4 - Introdução ao Python - Prof. Dino Magri


Encapsulamento

46 Aula 4 - Introdução ao Python - Prof. Dino Magri


Encapsulamento

• Um objeto possui uma interface, que é como ele aparece para


os demais objetos.

• Podemos dizer que são suas características, sem detalhes


internos.

• A interface de um objeto define os serviços que ele pode


realizar e consequentemente as mensagens que ele recebe.

• Um objeto é "visto" através de seus métodos.

47 Aula 4 - Introdução ao Python - Prof. Dino Magri


Encapsulamento

Classe
Interface

Métodos Dados

48 Aula 4 - Introdução ao Python - Prof. Dino Magri


Encapsulamento
• O encapsulamento é a proteção dos atributos ou métodos de uma
classe.

• Variáveis de instância "privada" que não podem ser acessas, exceto de


dentro do objeto, não existem em Python!

• No entanto, há uma convenção que pode ser utilizada: os nomes


prefixados com dois sublinhados (underline) são considerados privados e
todas as outras formas são públicas.

• Podemos utilizar essa convenção para definir o nome do atributo ou


método.

49 Aula 4 - Introdução ao Python - Prof. Dino Magri


Encapsulamento
class Pessoa:

def __init__(self, nome, idade):

self.nome = nome

self.__idade = idade

>>> joao = Pessoa('João', 30)

>>> print(joao.nome)
</> Abra o arquivo "aula4-parte2-encapsulamento.ipynb"

João

>>> print(joao.__idade)

AttributeError: 'Pessoa' object has no attribute '__idade'

50 Aula 4 - Introdução ao Python - Prof. Dino Magri


Encapsulamento

• Digamos que o João fez aniversário e precisamos atualizar o


valor armazenado no atributo idade.

• No caso de um atributo público, bastaria:

>>> joao.idade = 31

• Porém, como não temos acesso a esse atributo, uma vez


que ele é privado, precisamos utilizar um conceito simples
de get and set.

51 Aula 4 - Introdução ao Python - Prof. Dino Magri


Encapsulamento
• Na nossa classe Pessoa, vamos adicionar dois novos métodos:

class Pessoa:

def __init__(self, nome, idade):

self.nome = nome

self.__idade = idade

def get_idade(self):

return self.__idade

def set_idade(self, nova_idade):

self.__idade = nova_idade

52 Aula 4 - Introdução ao Python - Prof. Dino Magri


Encapsulamento
• Testando:
>>> joao.__idade

AttributeError: 'Pessoa' object has no attribute '__idade'

>>> joao.get_idade()

30
</> Abra o arquivo "aula4-parte2-encapsulamento.ipynb"
>>> joao.set_idade(31)

>>> joao.get_idade()

31

53 Aula 4 - Introdução ao Python - Prof. Dino Magri


Herança

54 Aula 4 - Introdução ao Python - Prof. Dino Magri


Herança

• O modelo de hierarquia é muito útil no desenvolvimento de


software, pois promove a reutilização de código.

• Na programação orientada a objetos, esse modelo é


conhecido como Herança.

• Isto permite que uma nova classe seja definida com base
em uma classe existente como ponto de partida.

55 Aula 4 - Introdução ao Python - Prof. Dino Magri


Herança

• Na POO, uma classe existente, pode ser descrita


como:
• Classe Base
• Classe Pai
• Classe Filha

56 Aula 4 - Introdução ao Python - Prof. Dino Magri


Herança

• Uma classe filha pode especializar um


comportamento existente, fornecendo uma nova
aplicação que substitui um método existente.

• E também pode estender a classe pai,


fornecendo novos métodos.
57 Aula 4 - Introdução ao Python - Prof. Dino Magri
Herança

Pessoa • Atributos: nome, idade


• Atributos: peso, aposentado • Ações: andar, falar
• Métodos: aquecer,
aposentar Atleta

58 Aula 4 - Introdução ao Python - Prof. Dino Magri


Herança
class Pessoa:

def __init__(self, nome, idade):

self.nome = nome

self.idade = idade </> Abra o arquivo "aula4-parte3-classe-heranca.ipynb"

def andar(self):

return(f"O {self.nome} está andando")

def falar(self):

return(f"O {self.nome} está falando")

59 Aula 4 - Introdução ao Python - Prof. Dino Magri


Herança
class Atleta(Pessoa):

def __init__(self, nome, idade, peso):

Pessoa.__init__(self, nome, idade)

self.peso = peso

self.aposentado = False

• Veja que no construtor da classe Atleta, adicionamos um novo atributo, peso,


que deve ser definido no momento em que instanciamos a classe Atleta.

• Para definir o valor de nome e idade, iremos executar o método __init__ da


classe Pessoa.

60 Aula 4 - Introdução ao Python - Prof. Dino Magri


Herança
class Atleta(Pessoa):

def __init__(self, nome, idade, peso):

super().__init__(nome, idade)

self.peso = peso

self.aposentado = False

• Podemos, também, utilizar a função embutida super() para chamar métodos da classe
superior (Pessoa).

• A grande vantagem de utilizar é super() é que ele recursivamente procura por um


atributo ou método que desejamos utilizar. Normalmente é utilizado quando utilizamos
Herança Múltipla.

61 Aula 4 - Introdução ao Python - Prof. Dino Magri


Herança
class Atleta(Pessoa):

def __init__(self, nome, idade, peso):

Pessoa.__init__(self, nome, idade)

self.peso = peso

self.aposentado = False

def aquecer(self):

return(f"Atleta {self.nome} está aquecido")

def aposentar(self):
</> Abra o arquivo "aula4-parte3-classe-heranca.ipynb"
self.aposentado = True

62 Aula 4 - Introdução ao Python - Prof. Dino Magri


Herança

Pessoa • Atributos: nome, idade


• Atributos: peso, aposentado • Ações: andar, falar
• Métodos: aquecer,
aposentar Atleta
• Métodos: pedalar
• Métodos: nadar

• Métodos: correr Corredor Nadador Ciclista

63 Aula 4 - Introdução ao Python - Prof. Dino Magri


Herança
class Corredor(Atleta):

def correr(self): • As três classes


Corredor, Nadador e
return(f"{self.nome} correndo")
Ciclista têm apenas
class Nadador(Atleta): um método cada e nenhum
def nadar(self):
construtor.

return(f"{self.nome} nadando") • Porém todas herdam os


class Ciclista(Atleta): atributos de Atleta que
por sua vez herdam os
def pedalar(self):
atributos de Pessoa.
return(f"{self.nome} pedalando") </> Abra o arquivo "aula4-parte3-classe-heranca.ipynb"

64 Aula 4 - Introdução ao Python - Prof. Dino Magri


Herança

Pessoa • Atributos: nome, idade


• Atributos: peso, aposentado • Ações: andar, falar
• Métodos: aquecer,
aposentar Atleta
• Métodos: pedalar
• Métodos: nadar

• Métodos: correr Corredor Nadador Ciclista

Triatleta
• Métodos: realizar_triatlo

65 Aula 4 - Introdução ao Python - Prof. Dino Magri


Herança

• É possível herdar os atributos e métodos de múltiplas


classes.

• Esse mecanismos é conhecido como Herança


Múltipla.

• Por que temos que definir os valores dos atributos


nome, idade e peso quando instanciarmos a classe
Triatleta?
66 Aula 4 - Introdução ao Python - Prof. Dino Magri
Herança
class Triatleta(Corredor, Nadador, Ciclista):

def __init__(self, nome, idade, peso, num_inscricao):

super().__init__(nome, idade, peso)

self.num_inscricao = num_inscricao

def realizar_prova(self):

print(f"Número inscrição: {self.num_inscricao} iniciando a prova")

print(self.nadar())

print(self.pedalar())

print(self.correr())

return(f"{self.nome} terminou a prova") </> Abra o arquivo "aula4-parte3-classe-heranca.ipynb"

67 Aula 4 - Introdução ao Python - Prof. Dino Magri


Agenda

• Objetivo

• Programação Orientada a Objetos

• Classes e Objetos

• Exercícios

68 Aula 4 - Introdução ao Python - Prof. Dino Magri


Exercício 1

• Exercício 1 – Implemente a classe Funcionário

• Exemplo de Uso:
Funcionário
>>> pedro = Funcionario("Pedro", 7000) nome : str
salario : float
>>> pedro.aumentar_salario(10)
__init__(nome, salario)
>>> pedro.salario aumentar_salario(percentual)

7700

69 Aula 4 - Introdução ao Python - Prof. Dino Magri


Exercício 2
• Exercício 2 – Implemente a classe Aluno. Regras:

• Quando o método estudar(qtde_horas) for executado deve-


se acresentar a qtde_horas no atributo tempo_sem_dormir)
Aluno
• Quando o método dormir(qtde_horas) for executado deve- nome : str
se reduzir a qtde_horas do atributo tempo_sem_dormir) tempo_sem_dormir : int
__init__(nome)
• Crie um código de teste da classe, criando um objeto da
estudar(qtde_horas)
classe aluno e utilize os métodos estudar e dormir.
dormir(qtde_horas)
• Ao final dos testes, imprima a quantidade de horas que o
aluno está sem dormir.

70 Aula 4 - Introdução ao Python - Prof. Dino Magri


Lista de Exercícios

</> Abra o arquivo "aula4-parte4-exercicios-gabarito.ipynb"

71 Aula 4 - Introdução ao Python - Prof. Dino Magri


Agenda

Referências Bibliográficas

72 Aula 4 - Introdução ao Python - Prof. Dino Magri


Referências
• Use a Cabeça! Python – Paul Barry - Rio de Janeiro, RJ: Alta Books, 2012.

• Use a Cabeça! Programação – Paul Barry & David Griffiths – Rio de Janeiro
RJ: Alta Books, 2010.

• Aprendendo Python: Programação orientada a objetos – Mark Lutz &


David Ascher – Porto Alegre: Bookman, 2007

Os ícones utilizados nessa apresentação foram criados por itim2101 sob a


licença CC BY 3.0 e disponível em
https://www.flaticon.com/packs/programming-42

73 Aula 4 - Introdução ao Python - Prof. Dino Magri


Referências
• Python for kids – A playful Introduction to programming – Jason R.
Briggs – San Francisco – CA: No Starch Press, 2013.

• Python for Data Analysis – Wes McKinney – USA: O'Reilly, 2013.

• Python Cookbook – David Beazley & Brian K. Jones – O'Reilly, 3th


Edition, 2013.

• As referências de links utilizados podem ser visualizados em


http://urls.dinomagri.com/refs

74 Aula 4 - Introdução ao Python - Prof. Dino Magri

Você também pode gostar