Repositório destinado a ser uma tutoria de Python para o projeto BRISA. O leitor será introduzido a linguagem e bibliotecas relevantes a análise de dados (Pandas, Numpy e MatPlotlib), além de tecnologias que aumentarão a eficiência na criação de um projeto.
Python é uma linguagem de programação de alto nível, dinâmica, interpretada, modular, multiplataforma e que suporta uma arquitetura orientada a objetos.
Por ser uma linguagem de sintaxe relativamente simples e de fácil compreensão, ganhou popularidade entre profissionais da indústria tecnológica que não são especificamente programadores, como engenheiros, matemáticos, cientistas de dados, pesquisadores e outros.
Python é uma linguagem poderosa, possui uma grande comunidade e uma vasta quantidade de bibliotecas, o que faz com que essa seja uma linguagem muito versátil e de fácil aprendizado devido ao grande número de documentações. A seguir estão algumas dass principais áreas onde o Python é utilizado:
1 - Scripting e automação: Algumas das bibliotecas para essa área são Pywin32 e Selenium;
2 - Desenvolvimento web: A linguagem possui uma extensa variedade de frameworks para todos os tipos de gosto, entre eles os famosos Django, Flask e FastAPI;
3 - Enquadramento de testes: Isso justifica por que desenvolvedores de software em Python adoram utilizar TDD (Test Driven Development). Para mais informações sobre essa técnica, acesse TDD;
4 - Big Data: Para essa área o Python tem como a principal biblioteca o Pandas;
5 - Ciência de dados: Nesse tutorial iremos focar nessa área, onde vamos conhecer as bibliotecas Pandas, NumPy e MatPlotlib;
6 - Computação gráfica: Pacotes de soluções para esta área, como PyOpenGL e PyGame;
7 - Inteligência artificial: Entre as bibliotecas mais comuns voltadas ao aprendizado de máquina estão o TensorFlow, PyThorch, Theano, Keras.
-
-
É fácil de aprender
-
É portátil e multiplataforma
-
É open source e gratuito
-
Oferece múltiplas possibilidades de desenvolvimento
-
É uma linguagem “curinga”
-
-
-
Aplicações que lidam diretamente com o hardware
-
Aplicações onde o hardware não é escalável
-
Aplicações de missões críticas que processam dados em tempo real
-
Aplicações nativas com interfaces gráficas
-
Aplicações com vida útil muito longa
-
-
-
Linux
-
Red Hat, CentOS, or Fedora
dnf install python3 python3-devel
-
Debian or Ubuntu
apt-get install python3 python3-dev
-
Gentoo
emerge dev-lang/python
-
Arch Linux
pacman -S python3
-
-
Windows
-
Para fazer o Download do Python para Windows acesse o site Python Download
O PyPI é um repositório centralizado que hospeda milhares de pacotes de software desenvolvidos pela comunidade Python. Ele permite que os desenvolvedores compartilhem suas bibliotecas, frameworks e ferramentas com outros usuários do Python em todo o mundo. O PyPI desempenha um papel fundamental na promoção do compartilhamento e da colaboração dentro da comunidade Python.
O PyPI possui uma interface da web que permite aos desenvolvedores pesquisar e explorar pacotes disponíveis. Você pode procurar por palavras-chave, categorias ou nome do pacote. Além disso, você pode obter informações detalhadas sobre um pacote específico, como a versão mais recente, a documentação e os requisitos de instalação.
A instalação de pacotes do PyPI é simples e pode ser feita usando a ferramenta pip. Com o pip, você pode especificar o nome do pacote que deseja instalar e ele cuidará de baixar e instalar todas as dependências necessárias automaticamente.
O pip é um sistema de gerenciamento de pacotes padrão utilizado para instalar e gerenciar pacotes de software escritos na linguagem Python.
Além disso, a maioria das distribuições do Python já vem com o pip pré-instalado, então muito provavelmente você já possui esse gerenciador instalado em sua máquina. Caso não possua, acesse aqui.
Primeiramente, devemos entender que o comando pip deve ser executado em linha de comando para realizar a instalação dos pacotes. Por exemplo, se você quer instalar um pacote é necessário utilizar o comando abaixo:
pip install nome-de-algum-pacote
Além disso você também pode desinstalar um pacote utilizando o comando abaixo:
pip uninstall nome-de-algum-pacote
O virtualenv(Venv) no Python é utilizado para isolar a versão do Python e das bibliotecas usadas em um determinado sistema. Caso você não utilize o Venv, todas as bibliotecas necessárias para seu sistema seriam instaladas no ambiente do sistema operacional.
Você foi contratado para desenvolver um sistema de análise de dados pela empresa A e para isso você utilizará o Python 3.7.4 e as bibliotecas pandas e numpy.
Esta mesma empresa te contrata para montar um sistema de cadastro e você opta por utilizar o mesmo Python 3.7.4, porém, como você irá disponibilizar este sistema na intranet deles, você usa o Flask, psycopg2 (para acesso ao PostgreSQL) e o marshmallow.
Você tem o hobby de criar jogos e resolve estudar o pygame, porém, a versão do Python escolhida é o 3.8.1
Um amigo pediu para você fazer um web scrapping e você resolve testar o Python 3.9. Além disso, você irá utilizar as bibliotecas requests e bs4 (BeautifulSoup)
Caso você não utilize Venv para cada projeto, você teria que utilizar o Python instalado no seu sistema e teria que colocar todas as bibliotecas nele. Isso causaria um problema de gerenciamento das bibliotecas.
A passagem "para cada projeto" foi grifada, pois caso você utilize um Venv para todos os projetos, você resolve apenas o isolamento do ambiente frente ao Python do sistema operacional, porém não resolve o gerenciamento das bibliotecas usadas e nem teria a possibilidade de usar versões de Python diferentes.
Caso você use a mesma biblioteca em dois projetos diferentes e necessite fazer o upgrade dela em um dos projetos, isso é possível com Venv. O mesmo caso, sem Venv, seria arriscado, pois você poderia "quebrar" o sistema que não necessita da atualização.
(Fonte: MARQUES, Paulo. 2020) [2]
Para mais informações de como criar, gerenciar e como funcionam os Venv no Python, acesse a Documentação do Venv.
Dica: Utilizem ou aprendam a utilizar um Venv, pois a maioria dos projetos em Python fazem uso dessa tecnologia, além disso ao utilizar Venv vocês diminiuem a possibilidade de inconsistência de versões de linguagem e de bibliotecas.
Pandas é uma biblioteca para Ciência de Dados de código aberto (open source), construída sobre a linguagem Python, e que providencia uma abordagem rápida e flexível, com estruturas robustas para se trabalhar com dados relacionais (ou rotulados), e tudo isso de maneira simples e intuitiva.
Para mais informações sobre essa tecnologia, acesse a documentação Pandas.
Apesar do nome da biblioteca ser associado ao mamífero da família de ursos, tal qual o Python é associado com a espécie de cobra erroneamente, o nome da biblioteca Pandas é derivado do termo Panel Data, um conceito em inglês relacionado ao campo de estudo da econometria.
Pandas pode ser instalado via pip do PyPI.
pip install pandas
NumPy é o pacote fundamental para computação científica em Python. É uma biblioteca em Python que fornece um objeto de array multidimensional, vários objetos derivados (como arrays mascarados e matrizes) e uma variedade de rotinas para operações rápidas em arrays, incluindo operações matemáticas, lógicas, manipulação de forma, ordenação, seleção, I/O, transformadas de Fourier discretas, álgebra linear básica, operações estatísticas básicas, simulação aleatória e muito mais.
Para mais informações sobre essa tecnologia, acesse a documentação NumPy.
Se você já possui o Python, pode instalar o NumPy utilizando:
pip install numpy
Matplotlib é uma biblioteca compreensiva para criação de visualizações estáticas, animadas, e interativas em Python. Para mais informações sobre essa tecnologia, acesse a documentação MatPlotlib.
Se você já possui o Python, pode instalar o MatPlotlib utilizando:
pip install matplotlib
O FastAPI é uma biblioteca Python que permite criar APIs RESTful e GraphQL de forma rápida e fácil. Ele é baseado em outras bibliotecas populares como o Starlette para o backend e o Pydantic para validação e parsing de dados. Com o FastAPI, é possível criar APIs seguras, documentadas e testáveis de maneira eficiente.
Para mais informações sobre essa tecnologia, acesse a documentação FastAPI.
Se você já possui o Python, pode instalar o FastAPI utilizando:
pip install fastapi uvicorn
Caso a resposta seja sim, fique a vontade para contribuir com este projeto, afinal o melhor jeito de aprender é fazer. Para contribuir basta ler o Código de Conduta para uma comunidade segura e respeitosa, além disso ler o Guia de Contribuição e, obviamente, se possuir qualquer dúvida, basta perguntar na área de Discussão, se quiser responder a perguntas nessa área também, fique a vontade.
Clique aqui para iniciar alguns exercícios -> Só vem
[1] Kenzie Academy Brasil, "O que é Python ?". Acesso em 18/05/2023;
[2] Stack Overflow, "Para que serve o Venv no Python ?". Acesso em 22/05/2023;
[3] Alura, Pandas: o que é, para que serve e como instalar. Acesso em 22/05/2023;
[4] AMARAL, Douglas - PyPI: O ecossistema de pacotes do Python. Acesso em 24/05/2023;
[5] Programador Viking, Pip Python: 4 Formas De Utilização Desse Gerenciador de Pacotes. Acesso em 24/05/2023;