Prévia do material em texto
............................................................................................................................... ENGENHARIA DE COMPUTAÇÃO - LINGUAGEM PYTHON MARINA MAYUMI COSTA SAKAGUTE - 245092024 PORTFÓLIO DE LINGUAGEM PYTHON ........................................................................................................................................ Guarulhos 2024 MARINA MAYUMI COSTA SAKAGUTE - 245092024 PORTFÓLIO DE LINGUAGEM PYTHON Trabalho apresentado ao Curso Engenharia de Computação do Centro Universitário ENIAC para a disciplina Linguagem Python. Prof. Nelson Luzetti Criado Guarulhos 2024 Respostas .................................................................................................................... Pesquise qual ou quais são as bibliotecas utilizadas para o desenvolvimento do data science e comente um pouco sobre cada uma. Aqui estão algumas das principais bibliotecas usadas para desenvolvimento de data science com Python e um breve comentário sobre cada uma: Pandas Descrição: Pandas é uma biblioteca essencial para manipulação e análise de dados em Python. Ela fornece estruturas de dados como DataFrames e Series, que facilitam o trabalho com dados tabulares e permitem realizar operações como filtragem, agregação e limpeza de dados. Usos: É amplamente utilizada para o pré-processamento e análise de dados e para explorar e organizar grandes volumes de dados em data science. NumPy Descrição: NumPy é uma biblioteca que fornece suporte para arrays e matrizes multidimensionais e vem com uma grande coleção de funções matemáticas de alto desempenho. Usos: Fundamental para cálculos numéricos, operações com matrizes e como base para outras bibliotecas de machine learning e data science. Matplotlib Descrição: Matplotlib é uma biblioteca de visualização de dados 2D em Python que permite criar gráficos de linha, barras, dispersão, histogramas, entre outros. Usos: Ideal para visualizações básicas e personalizáveis, facilitando a criação de gráficos detalhados e de alta qualidade para explorar dados e apresentar insights. Seaborn Descrição: Seaborn é baseada no Matplotlib e oferece uma interface de alto nível para criar gráficos estatísticos mais sofisticados, com um design visual atraente. Usos: É usada para explorar relações estatísticas e padrões nos dados e para criar gráficos esteticamente mais avançados com menos configuração. Scikit-Learn Descrição: Scikit-Learn é uma biblioteca voltada para machine learning, que fornece uma variedade de algoritmos para classificação, regressão, clustering e redução de dimensionalidade. Usos: Amplamente usada para construir e avaliar modelos de aprendizado de máquina e explorar insights preditivos em data science. TensorFlow e PyTorch Descrição: São bibliotecas de machine learning e deep learning que oferecem recursos para criar redes neurais e modelos complexos. Usos: Utilizadas para tarefas de aprendizado profundo, como visão computacional, processamento de linguagem natural e modelos de redes neurais em aplicações complexas de inteligência artificial. Plotly Descrição: Plotly é uma biblioteca de visualização interativa que permite criar gráficos complexos, incluindo gráficos 3D e de séries temporais. Usos: Muito utilizada em dashboards e relatórios interativos onde o usuário pode interagir com os dados, ideal para apresentações mais dinâmicas e visualizações complexas. Statsmodels Descrição: Statsmodels é uma biblioteca que oferece ferramentas para modelagem estatística, testes estatísticos e análise de séries temporais. Usos: Usada em análises estatísticas detalhadas e quando há necessidade de modelos estatísticos avançados, como modelos de regressão linear e análise de variância. Essas bibliotecas permitem que cientistas de dados realizem análises e visualizações de maneira eficiente, desde o tratamento de dados até a criação de modelos complexos de machine learning. Pesquise e descreva um pouco sobre Python para desenvolvimento Web. Python é uma linguagem amplamente utilizada no desenvolvimento web, especialmente pela simplicidade de sua sintaxe e pela robustez dos frameworks disponíveis, que facilitam a criação de aplicações web, desde sites simples até sistemas complexos. Alguns dos principais frameworks de desenvolvimento web em Python incluem Django, Flask, e FastAPI. Principais Frameworks para Desenvolvimento Web em Python Django Descrição: Django é um framework de desenvolvimento web de alto nível, conhecido por seu slogan "batteries included" (baterias incluídas), o que significa que ele já traz muitas funcionalidades prontas. Ele inclui uma estrutura completa para criação de APIs, autenticação de usuários, gerenciamento de sessões, ORM (Object-Relational Mapping), e um painel de administração embutido. Usos: Django é ideal para projetos maiores e para quem precisa de funcionalidades robustas e prontas. Ele é amplamente utilizado em aplicações empresariais, sites de e-commerce, e plataformas que exigem segurança e escalabilidade. Características: Django promove a filosofia DRY (Don’t Repeat Yourself), tem um sistema de roteamento eficiente, e utiliza o modelo de arquitetura MVC (Model-View-Controller), conhecido no Django como MTV (Model-Template-View). Flask Descrição: Flask é um micro-framework, ou seja, é mais leve e flexível, oferecendo o básico para criar uma aplicação web. Ele permite uma maior liberdade no desenvolvimento, pois não impõe uma estrutura rígida como o Django, tornando-se ideal para projetos menores e mais simples. Usos: Flask é frequentemente utilizado para criar APIs RESTful, protótipos rápidos e aplicações web que precisam de uma estrutura personalizada. Características: É um framework modular e extensível, permitindo que o desenvolvedor adicione apenas os pacotes e bibliotecas necessárias ao projeto. Flask é conhecido por ser fácil de aprender, flexível e por ter uma comunidade ativa de desenvolvedores. FastAPI Descrição: FastAPI é um framework moderno para criação de APIs rápidas e de alto desempenho, utilizando tipagem assíncrona com o poder de ferramentas como async e await. Usos: É ideal para APIs REST e é muito utilizado em aplicações que requerem alta performance e baixa latência, como microserviços e projetos de machine learning. Características: FastAPI é baseado em Pydantic e tipagem de dados, o que torna a validação automática e reduz erros. Também possui uma integração nativa com o OpenAPI para geração de documentação interativa das APIs. Outras Ferramentas e Bibliotecas no Desenvolvimento Web com Python Além dos frameworks, Python conta com bibliotecas que complementam o desenvolvimento web: Jinja2: Um mecanismo de template usado no Flask e em outros frameworks para criar HTML dinâmico. SQLAlchemy: Uma biblioteca ORM para facilitar a interação com bancos de dados relacionais, sendo utilizada em Flask e outros frameworks. Gunicorn e Uvicorn: Servidores web que permitem que as aplicações Python sejam executadas de maneira robusta e escalável. Requests: Uma biblioteca popular para fazer solicitações HTTP, frequentemente usada em aplicações web para consumir APIs externas. Vantagens do Python para Desenvolvimento Web Produtividade e Flexibilidade: A sintaxe simples e a ampla variedade de bibliotecas tornam Python uma linguagem produtiva e flexível para o desenvolvimento web. Comunidade e Documentação: Python possui uma comunidade ativa e extensa documentação, facilitando o aprendizado e o suporte para novos desenvolvedores. Segurança e Escalabilidade: Com frameworks como Django, que incluem recursos de segurança embutidos, é possível desenvolver aplicações seguras. Além disso, a escalabilidade de Python é comprovada por diversas empresas de tecnologia, como Instagram e Pinterest, que utilizam Django. Em resumo, Python é uma excelente escolha para o desenvolvimento web por sua simplicidade e pela variedade de frameworks e ferramentas que tornam o processo de desenvolvimento mais ágil e eficiente, permitindocriar desde pequenos sites até grandes plataformas empresariais. Pesquise e descreva um pouco sobre Python para desenvolvimento de aplicações. Python é uma linguagem versátil e poderosa para o desenvolvimento de diferentes tipos de aplicações, seja em desktop, mobile ou sistemas complexos de backend. Ele é amplamente utilizado para criar interfaces gráficas (GUI), ferramentas de automação, aplicações científicas e sistemas empresariais, graças à sua ampla gama de bibliotecas e frameworks. Desenvolvimento de Aplicações Desktop Python é uma excelente escolha para o desenvolvimento de aplicações desktop, pois possui bibliotecas e frameworks que facilitam a criação de interfaces gráficas, incluindo: Tkinter Descrição: Tkinter é a biblioteca GUI padrão do Python e permite criar interfaces gráficas simples e rápidas. Usos: Muito usada para desenvolver aplicações desktop básicas, como pequenas ferramentas e utilitários. Características: Possui um conjunto de widgets básicos para construir a interface, como botões, rótulos e campos de texto, sendo indicada para aplicações leves. PyQt e PySide Descrição: PyQt e PySide são bindings da biblioteca Qt para Python e são usadas para criar interfaces gráficas sofisticadas. Usos: Ideal para desenvolver aplicações mais complexas e ricas em recursos gráficos, como softwares de edição ou de design. Características: Incluem uma ampla variedade de widgets e ferramentas para personalização, oferecendo flexibilidade para interfaces ricas e com aparência profissional. Kivy Descrição: Kivy é uma biblioteca de código aberto usada para criar aplicações multitouch e interfaces adaptativas, especialmente útil para desenvolvimento multiplataforma (Android, iOS e desktop). Usos: Ideal para desenvolvimento de aplicações móveis e desktop que requerem uma interface gráfica interativa e moderna. Características: Kivy permite desenvolver uma única base de código que pode ser executada em várias plataformas, com widgets flexíveis que suportam toques e gestos. Desenvolvimento de Aplicações Científicas e Computação Científica Python é amplamente utilizado em áreas científicas e de pesquisa, graças a bibliotecas especializadas: SciPy e NumPy Descrição: SciPy e NumPy são bibliotecas de computação numérica e científica. SciPy estende o NumPy com funções avançadas para cálculo de integrais, álgebra linear e otimização. Usos: Essenciais para o desenvolvimento de aplicações científicas e de engenharia, incluindo simulações, modelagens matemáticas e computação intensiva. Matplotlib e Seaborn Descrição: Estas bibliotecas são voltadas para a visualização de dados e são amplamente usadas em pesquisas científicas para criar gráficos e visualizar experimentos e resultados. Usos: Ideais para analisar dados, criar gráficos complexos e representar dados experimentais. Jupyter Notebook Descrição: Jupyter Notebook é uma ferramenta interativa que permite a criação de documentos que misturam código, texto e visualizações. Usos: Popular em ambientes acadêmicos e de pesquisa, Jupyter é amplamente utilizado para data science, análise de dados e machine learning. Desenvolvimento de Aplicações Empresariais e Backend Python é amplamente usado em backend e sistemas empresariais devido à sua capacidade de integração e automação: Django e Flask Descrição: Django é um framework completo para desenvolvimento de aplicações web, enquanto Flask é um micro-framework mais leve e flexível. Usos: Essenciais para o desenvolvimento de APIs e backend de aplicações empresariais, onde Python pode processar e gerenciar dados em servidores. Celery Descrição: Celery é uma biblioteca de fila de tarefas distribuídas, usada para o processamento assíncrono e tarefas agendadas. Usos: Ideal para processamento em background, automação e integrações em sistemas complexos que requerem alta disponibilidade e processamento assíncrono de tarefas. Desenvolvimento de Aplicações de Machine Learning e Inteligência Artificial Python é a principal linguagem para desenvolvimento de machine learning e IA, com bibliotecas como: TensorFlow e PyTorch Descrição: TensorFlow e PyTorch são bibliotecas de deep learning, usadas para criar e treinar redes neurais complexas. Usos: Amplamente usadas para desenvolver modelos de IA em aplicações como visão computacional, processamento de linguagem natural e reconhecimento de padrões. Scikit-Learn Descrição: Uma biblioteca para machine learning que oferece algoritmos prontos para classificação, regressão, clustering e redução de dimensionalidade. Usos: Ideal para construir e avaliar modelos de machine learning em projetos que exigem análise preditiva e IA. Vantagens do Python para Desenvolvimento de Aplicações Python é amplamente adotado devido à sua sintaxe simples e fácil de aprender, além de oferecer uma ampla variedade de bibliotecas para diferentes necessidades. Isso permite que desenvolvedores de diferentes áreas usem Python para criar protótipos rápidos e aplicações completas em desktop, mobile, científica e em inteligência artificial. EXEMPLOS DE GRÁFICOS