100% acharam este documento útil (1 voto)
156 visualizações128 páginas

Aula01 - Introdução Ao Python v1.1

O documento apresenta uma aula introdutória sobre Python para análise de dados ministrada pelo professor Dino Magri. A aula aborda os objetivos de aprendizagem, uma introdução à linguagem Python, primeiros passos, vantagens de Python e estruturas de dados e controle. O material e exercícios da aula estão disponíveis em links.

Enviado por

noilton
Direitos autorais
© © All Rights Reserved
Levamos muito a sério os direitos de conteúdo. Se você suspeita que este conteúdo é seu, reivindique-o aqui.
Formatos disponíveis
Baixe no formato PDF, TXT ou leia on-line no Scribd
100% acharam este documento útil (1 voto)
156 visualizações128 páginas

Aula01 - Introdução Ao Python v1.1

O documento apresenta uma aula introdutória sobre Python para análise de dados ministrada pelo professor Dino Magri. A aula aborda os objetivos de aprendizagem, uma introdução à linguagem Python, primeiros passos, vantagens de Python e estruturas de dados e controle. O material e exercícios da aula estão disponíveis em links.

Enviado por

noilton
Direitos autorais
© © All Rights Reserved
Levamos muito a sério os direitos de conteúdo. Se você suspeita que este conteúdo é seu, reivindique-o aqui.
Formatos disponíveis
Baixe no formato PDF, TXT ou leia on-line no Scribd
Você está na página 1/ 128

ANÁLISE DE DADOS

COM PYTHON
Por Dino Magri
Contatos

• E-mail: [email protected]

• 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 1 - 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 1 - Introdução ao Python - Prof. Dino Magri


Aula 01 – Introdução ao
Python
Agenda
• Objetivo

• Introdução

• Primeiros Passos

• O poder do Python

• Estruturas de Dados

• Estruturas de Controle

• Exercícios

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


Agenda
• Objetivo

• Introdução

• Primeiros Passos

• O poder do Python

• Estruturas de Dados

• Estruturas de Controle

• Exercícios

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


Objetivo

• O objetivo dessa aula é introduzir conceitos


básicos sobre a linguagem de programação
Python para Análise de Dados.

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


Agenda
• Objetivo

• Introdução

• Primeiros Passos

• O poder do Python

• Estruturas de Dados

• Estruturas de Controle

• Exercícios

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


Introdução

Por que utilizar Python para análise de dados?

Visualizar
Limpar,
Definir objetivo, explorar e Tomar
Coletar os
métricas e analisar os Decisões
dados
infraestrutura dados Agregar valor
ao negócio

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


Introdução

• O que é programação?
• É o ato de programar, escrever programas; e
• Quando escrevemos programas, estamos passando
diversos comandos para o computador.
• Podemos pensar que o computador é um cachorro bem
treinado, onde ele obedece todos os seus comandos.
• Onde podemos utilizar programação?

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


Introdução

• Onde podemos utilizar programação?


• Robôs
• Robôs que estão em marte procurando água na superfície
• Carros autônomos
• Ajudam médicos a curarem doenças
• Ótimo jogos
• Filmes
• Aplicativos, sites, entre muitos outros ...

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


Introdução

• Algoritmos são receitas


• Coloque a mistura do pudim no fogo.
• Misture.
• Coloque uma colher no pudim.
• Remova a colher e passe o dedo na parte de trás da colher.
• Se fizer um caminho limpo, remova o pudim do fogo e deixe
esfriar.
• Caso contrário, repita a partir do passo 2.

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


Introdução
• É uma sequência de instruções que especificam como deve-se realizar
alguma tarefa. Algumas instruções básicas que aparecem em quase
todas as linguagens:
• entrada (input): obtém dados do teclado, de um arquivo, ou outro dispositivo

• saída (output): mostra os dados na tela, envia para um arquivo ou outro


dispositivo

• matemática: realiza as operações básicas da matemática (e.g. + ou *)

• execução condicional: executa os códigos de acordo com as condições

• repetição: realizar uma ação repetidamente

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


Introdução

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


Introdução

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


Introdução

• Guido van Rossum

• É Python! E não Phyton, Pyton, Phython

• Licença de código aberto, compatível com GPL

• Interpretada - Ambiente Interativo

• Linguagem de altíssimo Nível (VHLL)

• Versão mais atual 3.8.1 (2019-12-18)

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


Introdução

• E o que quer dizer Interpretada?


• Uma linguagem interpretada necessita de interpretador interno de código, o

qual irá traduzir a linguagem de alto nível escrita por nós para a linguagem

de máquina entendida pelo computador.

Código Fonte Byte code Runtime

m.py m.pyc PVM

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


Por que Python?

• Monty Python's Flying Circus


• Quando Guido estava implementando a
linguagem de programação Python ele
estava lendo o roteiro de "Monty Python's
Flying Circus", uma série de comédia da
BBC da década de 70.

• Ele pensou que o nome precisava ser


pequeno, único e ligeiramente misterioso.

Fonte: https://docs.python.org/2/faq/general.html#why-is-it-called-python Fonte: http://ecx.images-amazon.com/images/I/51HrlSsUrwL.jpg

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


Por que utilizar Python?

• Qualidade de Software

• O código do Python foi projetado para ser legível,

reutilizável e fácil manutenção.

• Suporte para mecanismos de reutilização de software,

como Programação Orientada à Objetos (OOP).

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


Por que utilizar Python?

• Produtividade no desenvolvimento
• Python aumenta a produtividade do desenvolvedor em muitas
vez além das linguagens compiladas com C, C++ e Java.

• 20 a 30% da quantidade de linhas de código, se comparado


com C++ e Java.

• Redução na quantidade de linhas a serem analisadas para


encontrar um erro ou dar manutenção no código.

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


Por que utilizar Python?

• Sintaxe Clara, muito próxima do pseudocódigo:

nome = input('Digite seu nome: ')


print("Olá {} !".format(nome))

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


Por que utilizar Python?

public class Hello {


#include <stdio.h> public static void main(String args[]) {
int main(){ java.util.Scanner s = new
char nome[200]; java.util.Scanner(System.in);
printf("Digite seu nome: "); System.out.print("Digite seu nome: ");
scanf("%s", nome); String nome = s.nextLine();
printf("Olá %s !\n", nome); System.out.println("Olá " + nome + " !");
return 0
}
}
}

C
Java

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


Por que utilizar Python?

• Qualidade de Software

• O código do Python foi projetado para ser legível,

reutilizável e fácil manutenção.

• Suporte para mecanismos de reutilização de software,

como Programação Orientada à Objetos (OOP).

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


Por que utilizar Python?

• Baterias Incluídas
• Python vem com uma grande coleção de funcionalidades

(standard library)

• https://docs.python.org/3/library/

• Python pode ser estendido com bibliotecas de terceiros


• Mais de 160.000 projetos no https://pypi.org/

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


Por que utilizar Python?

• Roda em diversas plataformas

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


Por que utilizar Python?

• Python ...
• ... vai direto ao ponto.

• ... é simples de usar.

• ... permite focar no problema, sem perder tempo na sintaxe.

• ... permite que o primeiro contato com a linguagem seja menos


complicado possível.

• ... permite evoluir dentro da linguagem com aplicações reais.

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


Spectrum IEEE - Fonte: http://bit.ly/2Xh4IMG
Por que utilizar Python?

TIOBE - Fonte: https://www.tiobe.com/tiobe-index/

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


Github - Fonte: http://bit.ly/stack-overflow-trends
Por que utilizar Python?

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


Como conversar com Python?

• Python é uma linguagem de programação e

portanto é necessário aprender essa linguagem

para realizar as tarefas que queremos.

• O primeiro passo é instalar o Python em seu

computador.

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


Como conversar com Python?

• Linux & Mac OS X


• Linux – A maioria das distribuições Linux já possuem o
interpretador Python 3 instalado.
• Mac OS X – Também tem um interpretador Python 3
instalado.

• Em ambos é possível atualizar para a última versão no


site oficial da linguagem – https://python.org
33 Aula 1 - Introdução ao Python - Prof. Dino Magri
Como conversar com Python?

• Windows 7, 8 e 10
• Acesse a página: https://www.python.org/downloads/

• Realize o download da versão 3.7.x ou superior

• Se seu notebook for atual, utilize a versão 64 bits


• Link direto: https://www.python.org/ftp/python/3.7.2/python-3.7.2-
amd64.exe

• Durante o processo de instalação é necessário selecionar a


opção de adicionar o Python no PATH do Windows.

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


Como conversar com Python?

Marque essa
opção!

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


Como conversar com Python?

Clique em
Install Now

Deve ficar
assim ...

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


Como conversar com Python?

• Pronto! Já podemos começar a programar em Python!

• Existem duas maneiras de praticar:


• Modo Interativo – É excelente para testar comandos e obter

respostas imediatas.

• Modo Editor – É utilizado para desenvolver os programas. A

extensão utilizada na hora de salvar o arquivo deve ser .py


• Exemplo: meu-arquivo.py

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


Como conversar com Python?

• E onde posso escrever essa linguagem?


• Precisamos de uma IDE

• E o que é uma IDE?

• É um ambiente integrado de desenvolvimento (Integrated Development

Environment)

• Ou seja, é um programa onde iremos adicionar código para que o

Python consiga interpretar e executar o que está sendo solicitado.

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


Como conversar com Python?

• Existem diversas IDEs:

• IDLE (já vem junto instalado com o Python!)

• Sublime Text - http://www.sublimetext.com


Qual IDE
• Ninja IDE - http://ninja-ide.org
devo utilizar?
• Syper - https://pythonhosted.org/spyder/

• PyCharm - https://www.jetbrains.com/pycharm/

• Entre outras
39 Aula 1 - Introdução ao Python - Prof. Dino Magri
Como conversar com Python?

• Para a nossa primeira conversa com Python, vamos

utilizar o IDLE

• Para abrir, clique em Iniciar ou aperte o botão do

Windows do Teclado → no campo de busca → digite

IDLE.

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


Como conversar com Python?
• Ambiente de Desenvolvimento Integrado para Python

• Permite editar, rodar, navegar e depurar programas em Python

• Gratuito

• Fácil de utilizar ☺

• Disponível em todas as plataformas

• Este é o Python Shell

• >>> são chamados de prompt

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


Como conversar com Python?

• Primeiro programa (Modo Interativo)

• Vamos iniciar o IDLE e imprimir o texto "Olá Mundo"

utilizando a função print():

>>> print("Olá Mundo")


Olá Mundo

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


Como conversar com Python?

• Primeiro programa (Modo Editor)

• Ainda no IDLE, acesse o menu File → New File (uma nova janela do

IDLE será aberta)

• Clique em File → Save (selecione uma pasta para salvar o arquivo)

• Defina um nome para o seu programa, por exemplo, ola-mundo.py

• Adicione o código abaixo e execute (F5 ou Run → Run Module)


print("Olá Mundo")

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


Como conversar com Python?

• Primeiro programa (Modo Editor)

• Algumas considerações importantes:

1. É necessário adicionar a extensão ".py" quando salvar arquivo

2. Para rodar o programa utilize o menu Run → Run Module

3. Não existe uma opção para limpar a tela

4. Para copiar uma linha no IDLE, clique na linha que deseja copiar e

aperte a tecla Enter.

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


Como conversar com Python?

Modo Interativo Modo Editor

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


Como conversar com Python?

• E se por algum motivo não conseguir acessar o IDLE ou algum outra IDE?

• Sem problemas, ainda podemos utilizar o modo interativo e o modo

editor, para isso basta ter o Python instalado.

• Mas como faço para abrir o modo interativo?


• Abra o programa Prompt de Comando do Windows (ou o Terminal Linux/MacOSX) e

simplesmente digite python

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


Como conversar com Python?

• E se por algum motivo não conseguir acessar o IDLE ou algum outra IDE?

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


Como conversar com Python?

• E se por algum motivo não conseguir acessar o IDLE ou algum outra IDE?

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


Como conversar com Python?

• Abra novamente o IDLE e teste os seguintes comandos (do jeito que

está):
>>> Print("Olá Mundo")
Traceback (most recent call last):
File "<pyshell#49>", line 1, in <module>
Print("Olá Mundo")
NameError: name 'Print' is not defined

>>> print (Olá Mundo)


^
SyntaxError: invalid syntax

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


Como conversar com Python?

• Abra novamente o IDLE e teste os seguintes comandos (do jeito que

está):

>>> print("Olá Mundo")


print("Olá mundo")
SyntaxError: unexpected indent

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


Como conversar com Python?

• É importante notar algumas regras básicas de sintaxe:

• Não tem necessidade de colocar ponto e virgula no final dos

comandos!

• Sem delimitadores de código – { }

• Para comentar código:


• # - Toda linha iniciada com #, será um comentário
• " " " Tudo o que estiver dentro de três aspas duplas será um
comentário " " "

• A indentação (recuo) é obrigatória


51 Aula 1 - Introdução ao Python - Prof. Dino Magri
Como conversar com Python?

if idade < 10:


print("Criança")
else: O dois pontos no final
da linha, sempre inicia
if idade < 18:
um novo bloco de
print("Adolescente") código
else:
print("Adulto")

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


Como conversar com Python?

• Ótimo! Agora já sabemos como conversar com o

Python!

Dúvidas!?

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


Agenda
• Objetivo

• Introdução

• Primeiros Passos

• O poder do Python

• Estruturas de Dados

• Estruturas de Controle

• Exercícios

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


Objetos Pythônicos

• Programa (ou script) em Python é uma sequência de


definições e comandos.
• Definições são avaliadas e comandos são executados pelo
Python (Lembre-se o modo editor e interativo).

• Comando (ou declaração) instrui o interpretador a


fazer algo.

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


Objetos Pythônicos

• De fato, os programas irão manipular objetos de dados.

• Cada objeto tem um tipo que define o que os


programas podem fazer.

• Objetos podem ser:


• Escalar (e.g. não podem ser subdivididos), ou

• Não-escalar (e.g. tem uma estrutura interna que pode ser


acessada).

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


Objetos Pythônicos

• Objeto Escalar
• int – utilizado para representar inteiros (e.g. 5 ou 10000)
• float – utilizado para representar números reais (e.g. 3.14 ou
27.0)
• bool – utilizado para representar valores boleanos (True e
False)
• None – utilizado para representar a ausência de valor

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


Objetos Pythônicos

• A função interna do Python type retorna um tipo de um objeto

>>> type(3)

<type 'int'>

>>> type(3.0)

<type 'float'>

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


Objetos Pythônicos

• Objeto Não-Escalar
• Iremos ver diferentes tipos de objetos compostos.

• As strings são as mais simples desses, são objetos do tipo str.

• As strings podem ser escritas utilizando aspas simples ou duplas.


• 'abc'
Existem outros tipos de objeto não-escalar que
• "abc" serão abordados durante o treinamento.
• '123' – essa é uma string de caracteres, não os números.

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


Objetos Pythônicos

• Um comando do Python muito importante é a


atribuição:

>>> empresa = "FIA"

• Esse comando estabelece que o nome empresa é um


identificador (ou variável) e está associado a um
objeto expressado pelo tipo string e tem valor “FIA”.

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


Objetos Pythônicos

• O identificador empresa faz referência a uma


instância da classe string que tem o valor FIA.

str
empresa FIA

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


Identificadores e atribuições
• Identificadores (ou variáveis) são do tipo case-sensitive, o que
significa que, uma variável chamada empresa é diferente de
Empresa.
• É possível armazenar informações como números, textos, listas de
números e textos, entre outros tipos de dados.
• O sinal de igual é utilizado para atribuir um valor a uma variável.
>>> nome = "FIA"
>>> print(nome)
FIA

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


Identificadores e atribuições

• É importante atribuir um valor, antes de utilizar uma


variável
>>> f
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
NameError: name 'f' is not defined

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


Identificadores e atribuições

• Repare que em nenhum momento foi necessário


definir qual o tipo do dado que será armazenado na
variável, apenas atribuímos o valor. Por que?
• Pois em Python, o tipo da variável é definido em
tempo de execução do programa.
• Ou seja, Python tem tipagem dinâmica e forte.
• Objetos não podem mudar de tipo
• É forte pois não há conversão automática de tipo

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


Identificadores e atribuições
>>> a = 1 # inteiro >>> print(type(a))
<class 'int'>

>>> b = 1.0 # float >>> print(type(b))


<class 'float'>

>>> print(type(c))
>>> c = True # booleano
<class 'bool'>

>>> print(type(d))
>>> d = None # None <class 'NoneType'>

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


Identificadores e atribuições

• Objetos e operadores podem


ser combinados para
formarem expressões, cada i + j Soma
um denota um objeto de i – j Subtração
algum tipo. i * j Multiplicação
i / j Divisão
• A sintaxe para a expressão i % j Resto da divisão
mais simples é: i ** j Exponenciação

<objeto> <operador> <objeto>

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


Operadores Condicionais

• Resultado Verdadeiro (True) e


Falso (False)
>>> print (10 == 15) i > j Retorna True se i for maior que j
False i >= j Retorna True se i for maior ou igual que j
>>> print (10 != 15) i < j Retorna True se i for menor que j
True i <= j Retorna True se i for menor ou igual que j

>>> print ("a" == "a") i == j Retorna True se i e j forem iguais


i != j Retorna True se i e j não forem iguais
True
>>> print ("a" != "b")
True

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


Operadores Lógicos

• not, and e or
i and j Retorna True se i e j forem True
i or j Retorna True se pelo menos um deles for True
>>> nome = "Maria" Retorna True se i for False; retorna False se i for True
not i
>>> idade = 35
>>> nome == "Maria" and idade == 35
True
>>> nome == "Maria" or idade > 36
True
>>> len(nome) < 10 and not nome == "Maria"
False

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


Outros Exemplos

>>> nome == "maria"


False

>>> (nome == "Maria" or nome == "Maria")


True

>>> (nome == "maria" or nome == "Maria") and idade == 35


True

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


Exercício de 5 minutos

• Se você percorrer uma corrida de 10 km em 53


minutos, qual é a média de tempo (em segundos)
por km?
>>> ???

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


Exercício de 5 minutos

• Se você percorrer uma corrida de 10 km em 53 minutos,


qual é a média de tempo (em segundos) por km?
>>> total_km = 10

>>> tempo_total_segundos = (53 * 60)

>>> media_por_km = (1 * tempo_total_segundos) / total_km

>>> print(media_por_km)

318.0

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


Agenda
• Objetivo

• Introdução

• Primeiros Passos

• O poder do Python

• Estruturas de Dados

• Estruturas de Controle

• Exercícios

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


Poderes Ilimitados !!!!
• Conforme vimos anteriormente, Python tem uma vasta lista de módulos
da biblioteca padrão e também de bibliotecas de terceiros!

• O que são?
• Um módulo é composto por códigos Python em um arquivo com a extensão .py
que pode ser utilizado em outro arquivo de código Python!
• Para utilizar um código que está em um arquivo A.py no arquivo B.py será
necessário utilizar o comando import para importar as definições e comandos
que estão em A.

• Ou seja, dentro do arquivo B.py, adicione: import A

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


Poderes Ilimitados !!!!

Fonte: https://xkcd.com/353/

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


Poderes Ilimitados !!!!

Fonte: https://xkcd.com/353/

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


Poderes Ilimitados !!!!

• A biblioteca padrão do Python -


https://docs.python.org/3/library/ contém uma vasta
quantidade de módulos, como por exemplo:
• sys – Contém parâmetros específicos do sistema

• math – Contém funções matemáticas prontas para serem


utilizadas!

• datetime – Tipos básicos de data e hora

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


Poderes Ilimitados !!!!
• Exemplos de uso desses módulos:
>>> import sys
>>> print(sys.version)
3.7.2 (tags/v3.7.2, Dec 23 2018, 23:09:28)[MSC v.1916 64 bit (AMD64)]
>>> import math
>>> print(math.factorial(4))
24
>>> import datetime
>>> print(datetime.date.today())
2019-02-24

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


Poderes Ilimitados !!!!

• Além da biblioteca padrão, podemos utilizar módulos


desenvolvidos por terceiro (+160.000 pacotes).

• Para isso, precisamos instalar as bibliotecas que queremos!

• E isso é feito de maneira bem simples ☺

• O Python tem um gerenciador que possibilita procurar, instalar


e remover essas bibliotecas.

• Esse gerenciador, chama-se PIP! - Python Package Index

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


Poderes Ilimitados !!!!

Fonte: http://www.aosabook.org/en/packaging.html

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


Poderes Ilimitados !!!!

• Como instalar o pip?


• Nas versões 3.3 ou superior do Python o Pip é instalado por
padrão!
• Na versão 2.7.9 ou superior o Pip também é instalado por
padrão!
• Para as versões antigas do Python acesse:
https://pip.pypa.io/en/stable/installing/
81 Aula 1 - Introdução ao Python - Prof. Dino Magri
Poderes Ilimitados !!!!

• Como utilizar o pip?


• Abra o Prompt de Comando ou Terminal e digite:
$ pip search [nome do pacote]
$ pip install [nome do pacote]
$ pip uninstall [nome do pacote]

• Nota: Se as versões 2 e 3 do Python coexistirem, é


necessário utilizar pip3 para a versão do Python 3.
82 Aula 1 - Introdução ao Python - Prof. Dino Magri
Poderes Ilimitados !!!!
• Para testar o uso do pip iremos instalar
um pacote chamado Jupyter.

• Jupyter é uma aplicação web que


permite criar e compartilhar notebooks
que contém código, equações,
visualizações e textos explicativos.

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


Poderes Ilimitados !!!!

• Podemos criar códigos para


limpeza e transformação de
dados, simulações numéricas,
modelagem estatística,
aprendizagem de máquina,
entre outros!

• http://jupyter.org/

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


Poderes Ilimitados !!!!
• Para instalar o Jupyter, abra o Prompt de Comando ou
Terminal e digite:

$ pip install jupyter

• Note que durante a instalação, o pip irá baixar todos os


pacotes necessários para instalar corretamente o pacote
Jupyter!

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


Poderes Ilimitados !!!!

• Para utilizar o Jupyter, abra o Prompt


de Comando ou Terminal e digite:

$ jupyter notebook

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


Poderes Ilimitados !!!!

• No navegador web (Firefox ou Chrome), digite:


• http://localhost:8888/notebooks

• Note que é listado todos os arquivos que existem


dentro da pasta de usuário.

• Se os arquivos das aula foram salvos no Desktop, já


será possível acessar os notebooks de todas as aulas.
</> Abra o arquivo "aula1-parte1-jupyter.ipynb"

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


Agenda
• Objetivo

• Introdução

• Primeiros Passos

• O poder do Python

• Estruturas de Dados

• Estruturas de Controle

• Exercícios

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


Strings

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


Strings

• Na programação, normalmente chamamos um conjunto


de caracteres de string.

• Para criar uma string é necessário delimitar o conjunto de


caracteres com aspas duplas ou simples.

>>> "Dino"

>>> '123'

>>> "1+1"

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


Strings

• Podemos substituir símbolos em strings

• Podemos concatenar strings

• Podemos multiplicar strings

• Podemos indexar e fatiar strings

• E muito mais ...


</> Abra o arquivo "aula1-parte2-strings.ipynb"

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


Strings

• Podemos substituir símbolos em strings

• Podemos concatenar strings

• Podemos multiplicar strings

• Podemos indexar e fatiar strings

• E muito mais ...

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


Strings

• Indexar (index) e fatiar (slice) strings

Fonte: http://goo.gl/agfSe5

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


Strings
• Como vimos no inicio da aula, tudo em Python é um objeto, portanto
existem ações associadas a cada um desses objetos.

• Em strings, existem diversos métodos (ações) que podem ser utilizados,


por exemplo:
• Contar a quantidade de um caractere específico
• Deixar toda a string em minúsculo, maiúsculo ou no formato de título
• Verificar se uma string inicia ou finaliza com caracteres desejados
• Outras ações (métodos) podem ser visualizados em:
https://docs.python.org/3/library/stdtypes.html#string-methods
</> Abra o arquivo "aula1-parte2-strings.ipynb"

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


Listas

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


Listas

• Conjunto linear de valores indexados por um número inteiro.


• Índices são iniciados em zero

• Tipos mistos

• E até outros listas >>> list("abcd")


['a', 'b', 'd', 'c']

>>> numeros = [1, 2, 3, 4, 5, 6]

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


Listas

• Podemos concatenar listas

• Podemos modificar o seu conteúdo

• Podemos indexar e fatiar listas

• E muito mais ...

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


Listas
• Em listas, também existem diversos métodos (ações) que podem ser utilizados,
por exemplo:

• Adicionar um item ao fim da lista

• Inserir um item em uma posição especifica

• Contar a quantidade de elementos que aparecem na lista


</> Abra o arquivo "aula1-parte3-listas.ipynb"
• Ordenar os itens da lista

• Inverter a ordem da lista

• Outras ações (métodos) podem ser visualizados em:


https://docs.python.org/3/tutorial/datastructures.html#more-on-lists

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


Tuplas

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


Tuplas

• Tuplas constroem grupos simples de objetos.

• Elas trabalham exatamente como listas, exceto que tuplas


não podem ser modificadas (são imutáveis) e são
normalmente escritas como uma série de itens entre
parênteses, não entre colchetes.

• Os itens das tuplas são acessados via índice.

• Não suporta operações de alteração.

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


Tuplas

• Para criar uma tupla vazia:

>>> t1 = ()
>>> tuple("abcd")
• Para criar uma tupla com 1 item ('a', 'b', 'd', 'c')

>>> t2 = (1,)

• Para criar uma tupla com 6 itens

>>> numeros = (1, 2, 3, 4, 5, 6)

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


Tuplas

• Podemos concatenar tuplas

• Podemos multiplicar seus valores

• Podemos indexar e fatiar tuplas

• Outras ações (métodos) podem ser visualizados em:


https://docs.python.org/3/tutorial/datastructures.html
#tuples-and-sequences </> Abra o arquivo "aula1-parte4-tuplas.ipynb"

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


Dicionários

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


Dicionários

• É uma coleção de elementos onde é possível utilizar um


índice de qualquer tipo imutável.

• Dicionários são indexados por chaves (keys), que


podem ser de qualquer tipo imutável (strings e
números).

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


Dicionários

• O dicionário é um conjunto de chave : valor (key :


value) não ordenado, com o requerimento que a
chave deve ser única.
• chave é o índice.
• valor é a informação correspondente a chave.
• { } é utilizado para iniciar um dicionário vazio.

• : separa os pares índice-valor por vírgula

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


Dicionários
>>> alunos = {'jose' : 35, 'bilbo' : 28}

print(alunos)

{'jose' : 35, 'bilbo' : 28}

>>> alunos['jose']

35

>>> alunos['bilbo']

28

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


Dicionários
• Podemos adicionar uma novo elemento no dicionário.

• Podemos deletar um elemento do dicionário.

• Podemos recuperar todas as chaves ou todos os valores do dicionário.

• Podemos verificar se uma chave existe no dicionário.

• E muito mais ...

• https://docs.python.org/3/tutorial/datastructures.html#dictionaries

</> Abra o arquivo "aula1-parte5-dicionarios.ipynb"

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


Sets

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


Sets

• É uma coleção de elementos não ordenados sem


elementos duplicados.

• É um estrutura que testa e elimina os elementos


duplicados.

• Também é possível realizar operações de conjuntos,


como união, intersecção, diferença, entre outros.

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


Sets

>>> numeros = [1, 2, 1, 2, 3, 4, 5, 5, 6]

>>> aux = set(numeros)

>>> print(aux)

{1, 2, 3, 4, 5, 6}

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


Sets

• Também suporta operações matemáticas como união,


interseção, diferença e diferença simétrica.

• Outras ações (métodos) podem ser visualizados em:


https://docs.python.org/3/tutorial/datastructures.html#s
ets

</> Abra o arquivo "aula1-parte6-sets.ipynb"

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


Agenda
• Objetivo

• Introdução

• Primeiros Passos

• O poder do Python

• Estruturas de Dados

• Estruturas de Controle

• Exercícios

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


if, elif e else
• Para controlar o fluxo do nosso código,
podemos avaliar uma determinada Código

expressão.

• Um teste (expressão que avalia para Teste

verdadeiro (True) ou falso (False)).


Bloco de Bloco de
código para código para
• Um bloco de código que será executado verdadeiro falso

se o teste for verdadeiro (True).

• Um bloco de código que será executado Código

se o teste for falso (False).

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


if, elif e else

• Um simples exemplo:
Código
>>> n = int(input('Digite um número: '))

Digite um número: 10
Teste

>>> if n % 2 == 0:
Bloco de Bloco de
código para código para
print('Par') verdadeiro falso

else:
Código
print('Impar')

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


if, elif e else

if condição:
# bloco de código
elif condição:
# outro bloco
else:
# bloco final

</> Abra o arquivo "aula1-parte7-estruturas-controle.ipynb"

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


Iteração (while)
• É utilizado para execução repetitiva
enquanto uma expressão for verdadeira. Código

• Inicia com um teste


• Se o teste resultar em verdadeiro (True), então
Teste
o código do laço iterativo será executado
True
uma única vez e então o código será
Código do False
redirecionado para que o teste seja refeito. laço iterativo

• Esse processo é repetido até que o teste


resulte em falso (False), saindo do laço
Código
iterativo.

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


Iteração (while)

• Um simples exemplo:
Código

>>> lista = [1, 2, 3]


Teste
>>> n = len(lista) - 1 True

Código do False
>>> while (n != -1): laço iterativo

print(lista[n])
Código

n = n - 1

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


Iteração (for)
• Para percorrer um conjunto de valores podemos utilizar o laço interativo (for):

>>> produtos = ['ipad', 'celular', 'notebook', 'tv']

>>> for item in produtos:

print(item)

ipad

celular

notebook

tv

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


Iteração (for)
• A função range(inicio, fim[, passo]) serve para criar listas contendo progressões
aritméticas. O inicio é inclusivo e o fim é exclusivo. O passo não pode ser 0.

>>> list(range(5)) # Se o inicio não for indicado, assume-se 0

[0, 1, 2, 3, 4]

>>> list(range(1, 5)) # Se o passo não for indicado, assume-se 1

[1, 2, 3, 4]

>>> list(range(1, 6, 2)) # Utilizando 2 como valor do passo

[1, 3, 5] </> Abra o arquivo "aula1-parte7-estruturas-controle.ipynb"

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


Pontos de atenção em laços de repetição
• break: sai do loop mais próximo que a envolve

• continue: pula o início do loop mais próximo que a envolve

• pass: não faz absolutamente nada; trata-se de um lugar reservado de instrução,


vazio.
>>> numeros = [4, 5, 6, 7, 8, -3, 9, -4]
>>> for num in numeros:
if num < 0:
print("negativo: {}".format(num))
break
???????

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


Pontos de atenção em laços de repetição

• Tanto o if quanto o while utilizam condições lógicas para


controle, avaliando-as de maneira booleana.

• Em Python, podemos denotar falso:


• Pelo booleano False,
Qualquer outro valor é considerado verdadeiro.

• Pelo valor 0 (zero)

• Pela lista, dicionário, ou strings vazios, de tamanho zero

• Pelo valor especial None, que significa ausência de valor.

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


Estruturas de Controle

• Estruturas condicionais (if, elif e else) permite direcionar o


fluxo do nosso código para uma determinada parte
baseado em uma condição (teste).

• Enquanto que as estruturas de repetição (e.g. while e for)


permitem repetir determinadas partes do código baseado
em uma condição (teste).

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


Jogo dos 7 erros

>>> dinheiro = 2000;

>>> if dinheiro > 1000:

... Print("Estou rico!)

>>> else

... Print('Não estou rico")

... print("mas posso ficar ..."

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


Jogo dos 7 erros

>>> dinheiro = 2000;

>>> if dinheiro > 1000:

... print("Estou rico!")

>>> else:

... print('Não estou rico')

... print("mas posso ficar ...")

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


Agenda
• Objetivo

• Introdução

• Primeiros Passos

• O poder do Python

• Estruturas de Dados

• Estruturas de Controle

• Exercícios

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


Lista de Exercícios

</> Abra o arquivo "aula1-parte8-exercicio.ipynb"

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


Agenda

Referências Bibliográficas

127 Aula 1 - 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

128 Aula 1 - 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

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

Você também pode gostar