IGNORÂNCIA ZERO
I
g
Curso de Ciência de Dados
n
o
r
â
n
c
i
a
Z
e
Python Básico
r
o
São Paulo, 15 de janeiro de 2022
Pedro Forli
1 Python
I
g
n
o
r
â
n
c
i
a
Z
e
r
o
O que é Python?
Uma linguagem de programação de alto nível e interpretada que nos permite escrever código de uma maneira simples e rápida sem grandes
problemas de portabilidade e compatibilidade
LINGUAGEM CARACTERÍSTICAS • Características:
− Alto Nível
Linguagem de Máquina Única compreendida pelo
computador e específica − Interpretada
de cada um − Simples e fácil
Linguagem de Baixo Nível Utiliza mnemônicos para − Boa compatibilidade
I
g
representar instruções
n elementares (ex: assembly) − Boa parte do código esta pronto
o (modular)
r Linguagem de Alto Nível Utiliza instruções próximas
â
n da linguagem humana de
c forma a facilitar o
i
a
raciocínio (ex: C, Java,
Python)
Z
e
r
o
Por que Python?
Por ser simples de aprender e rápida de desenvolver, além de permitir criar uma aplicação completa sem uso de outras linguagens a não ser que
seja absolutamente necessário
Rápida de aprender e de Comunidade extensa e
desenvolver acessível
I
g
n
o
r
â
n
c
i
a
Z
Vasta quantidade de Alto nível de automação e de
e
r
o
bibliotecas pré-prontas integração
Escalável e combinável com
outras linguagens
4
2 Anaconda
I
g
n
o
r
â
n
c
i
a
Z
e
r
o
5
Gerenciadores de Ambiente
São programas utilizados para construir ambientes novos (como instalações virtuais) que devem ser utilizados para garantir reprodutibilidade da
execução do código de um determinada ferramenta
# Método Descrição Vantagens Desvantagens
Venv é um módulo do Python que é usado para criar • Apenas gerencia pacotes instalados
• Leve
1 Venv ambientes virtuais leves., sendo o padrão para Python 3 e
um dos módulos mais fáceis de criar ambientes virtuais.
• Não requer novas instalações
(não altera versão do python)
• Ruim para Windows
I
g
n
o Virtualenv é uma ferramenta de gerenciamento de • Não pode ser atualizado com pip
• Similar a venv
r
â
n
c
2 Virtualenv dependência de terceiros usada para criar e gerenciar
projetos Python
• Bootstrap scripts
• Não consegue gerenciar versões do
python
i
a
Pipenv é um gerenciador de pacotes usado para gerenciar • Auto-documentação • Curva de aprendizado
3
Z
e Pipenv dependências de projetos Python, que é bom para o fluxo de • Padronização • Lento
r
o trabalho típico comum de usar dependências • Integração de ferramentas • Incompatibilidade de módulos
Conda é um sistema de gerenciamento de pacote e • Gerencia múltiplas linguagens • Pesado
4 Conda gerenciamento de ambiente que não só suporta Python, mas
também outras linguagens como Ruby, Scala, R e C / C++
• Possuí interface visual
• Facilita instalações windows
• Versões menos atualizadas
• Gerenciador com sintaxe própria
Ferramenta Python muito rica em recursos para • Ambiente integrado para construir e • Lento
5 Poetry gerenciamento de dependências de projetos embalada com
uma CLI poderosa para criar e gerenciar projetos Python.
produzir
• Ferramenta única
• OS específico
• Pure python (exclui Cython e Jython)
Fontes: [Link] [Link]
Sobre o Anaconda
Uma plataforma open-source com múltiplas ferramentas de gerenciamento de pacote, código, ambientes e muito utilizado para experimentação
e em soluções no campo de ciência e análise de dados ([Link]
I
g
n
o
r
â
n
c
i
a
Z
e
r
o
7
Instalação
Vá para o endereço [Link] e você verá todas as opções de instalação para os diferentes
sistemas operacionais. Baixe o arquivo de interesse e siga as instruções nos próximos slides
• Windows:
− [Link]
naconda3-2021.05-Windows-
x86_64.exe
− [Link]
I [Link]
g
n
o
• Mac
r
â
− [Link]
n Anaconda3-2021.05-MacOSX-
c
i x86_64.pkg
a
− [Link]
Z
e
Anaconda3-2021.05-MacOSX-
r x86_64.sh
o
• Linux:
− [Link]
Anaconda3-2021.05-Linux-x86_64.sh
− [Link]
Anaconda3-2021.05-Linux-
[Link]
− [Link]
Anaconda3-2021.05-Linux-
[Link]
− [Link]
[Link]
8
Instalação – Windows
I
g
n
o
r
â
n
c
i
a
Z
e
r
o
9
Instalação – Mac
I
g
n
o
r
â
n
c
i
a
Z
e
r
o
10
Instalação – Linux
I
g
n
o
r
â
n
c
i
a
Z
e
r
o
11
Conda
Acessando o anaconda prompt (Windows) ou o terminal (Mac / Linux) podemos executar comandos utilizando o conda para controlar ambiente,
pacotes e configurações do anaconda
I
g
n
o
r
â
n
c
i
a
Z
e
r
o
12
Conda - Criando um ambiente
Para criar um ambiente utilize o comando “conda create”. Você pode acessa-lo utilizando o “conda activate”, e, ao fazer-lo, notará que o nome
entre parênteses antes do terminal mudará, indicando em qual ambiente você está
I
g
n
o
r
â
n
c
i
a
Z
e
r
o
13
Anaconda Navigator
Interface gráfica que permite manipular ambientes e aplicações comumente usadas em conjunto com o anaconda
I
g
n
o
r
â
n
c
i
a
Z
e
r
o
14
Anaconda Navigator - Criando um ambiente
I
g
n
o
r
â
n
c
i
a
Z
e
r
o
15
3 Jupyter Notebook
I
g
n
o
r
â
n
c
i
a
Z
e
r
o
16
O que é o Jupyter? Como nós o utilizamos?
Jupyter é uma ferramenta Web que permite a execução e visualização dinâmica de blocos de código muito utilizada para experimentação (em
múltiplos campos), geração de relatórios e aprendizagem
• Definição: É um aplicativo da web de código aberto que
permite criar e compartilhar documentos que contêm código
ao vivo, equações, visualizações e texto narrativo
I
g
n • Usos: limpeza e transformação de dados, simulação
o
r
numérica, modelagem estatística, visualização de dados,
â
n
aprendizado de máquina e mais
c
i
a
• Vantagens:
Z − Código dinâmico
e
r − Visualização de dados
o
− Customização (página Web, LaTex, etc.)
− Servidor
• Desvantagens:
− Execução fica na memória
− Deployment de código
− Trabalho em grupo
17
Instalação Jupyter
Conda
➢ conda activate ambiente-teste
➢ conda install jupyter ([Link]
I ➢ y
g
n
➢ jupyter notebook
o
r
â
n
c Anaconda Navigator
i
a
Z
e
r
o
18
Jupyter NB Extensions
Anaconda Navigator
I
g
n
o
r
â
n
c
i
a
Z
e
r
o
Conda
➢ conda activate ambiente-teste
➢ conda install -c conda-forge jupyter_contrib_nbextensions
➢ y
➢ jupyter notebook
19
Jupyter NB Extensions
I
g
n
o
r
â
n
c
i
a
Z
e
r
o
20
Interface
I
g
n
o
r
â
n
c
i
a
Z
e
r
o
21
4 Google Collab
I
g
n
o
r
â
n
c
i
a
Z
e
r
o
22
Setup
Para utilizar o google colab, basta ter uma conta google, acessar o seu google drive e realizar a instalação do complemento gratuito
I
g
n
o
r
â
n
c
i
a
Z
e
r
o
Interface
Para criar um novo notebook basta clicar em novo no canto superior esquerdo da tela e selecionar a aplicação. Uma nova janela se abrirá com
uma interface similar ao jupyter notebook
I
g
n
o
r
â
n
c
i
a
Z
e
r
o
Pode ser necessário
atualizar a página para
esta opção aparecer
24
“Education is the passport to the future,
I
g
n
o
for tomorrow belongs to those who
prepare for it today”
r
â
n
c
i
a
Z
e
r
- Malcolm X
o
25