{"id":3157,"date":"2021-05-24T18:29:24","date_gmt":"2021-05-24T21:29:24","guid":{"rendered":"http:\/\/www.55bet-pro.com\/pet\/sistemas-de-informacao\/?p=3157"},"modified":"2025-09-02T14:17:30","modified_gmt":"2025-09-02T17:17:30","slug":"bibliotecas-python","status":"publish","type":"post","link":"http:\/\/www.55bet-pro.com\/pet\/sistemas-de-informacao\/2021\/05\/24\/bibliotecas-python","title":{"rendered":"Bibliotecas Python"},"content":{"rendered":"\n
Fala pessoal! Esta edi\u00e7\u00e3o do PET-Reda\u00e7\u00e3o traz para voc\u00eas algumas bibliotecas importantes que ir\u00e3o ajud\u00e1-los em seus desenvolvimentos que utilizam a linguagem Python. Vamos come\u00e7ar?<\/span><\/p>\n Vamos come\u00e7ar pelos conceitos b\u00e1sicos. O que \u00e9 uma biblioteca na computa\u00e7\u00e3o: uma cole\u00e7\u00e3o de c\u00f3digos voltados a resolver um determinado tipo de problema. Nesse contexto, vamos explorar algumas dessas cole\u00e7\u00f5es que podem ser \u00fateis para plotar gr\u00e1ficos, trabalhar com imagens, etc.<\/span><\/p>\n Nesse sentido, essa reda\u00e7\u00e3o apresentar\u00e1 algumas bibliotecas da linguagem e alguns de seus recursos e usos, detalhando alguns usos pr\u00e1ticos de duas delas.\u00a0<\/span><\/p>\n Pillow\u00a0<\/b><\/p>\n Essa biblioteca, a Python Imaging Library, adiciona recursos de processamento de imagem interpretador Python, oferecendo suporte a formatos de arquivos e recursos para processamento de imagem.\u00a0<\/span><\/p>\n Com ela \u00e9 poss\u00edvel abrir e editar arquivos de imagem, criar miniaturas\/thumbnails, inserir filtros, dentre outras funcionalidades.<\/span><\/p>\n Para utiliz\u00e1-la, \u00e9 necess\u00e1ria sua instala\u00e7\u00e3o: <\/span>pip install Pillow.<\/span><\/i> Nesta reda\u00e7\u00e3o, ser\u00e1 demonstrado um uso bem b\u00e1sico, para dar uma introdu\u00e7\u00e3o: aplicando os filtros dispon\u00edveis pela biblioteca.<\/span><\/p>\n Primeiro \u00e9 realizada a sua importa\u00e7\u00e3o (<\/span>from PIL import Image, ImageFilter<\/span><\/i>) e a abertura da imagem desejada, atrav\u00e9s do comando <\/span>Image.open(\u201ccaminho_da_imagem.extens\u00e3o\u201d<\/span><\/i>). Com este comando, \u00e9 poss\u00edvel abrir o arquivo que ir\u00e1 ser trabalhado. A seguir, utilizando o m\u00e9todo filter, se passa por par\u00e2metro o filtro escolhido a ser aplicado na sua imagem. Os filtros\u00a0 dispon\u00edveis s\u00e3o: blur, contour, detail, edge_enhance, edge_enhance_more, emboss, find_edges, smooth, smooth_more e sharpen.<\/span><\/p>\n Ap\u00f3s essas etapas,\u00a0 s\u00e3o salvas as modifica\u00e7\u00f5es atrav\u00e9s do m\u00e9todo <\/span>save(). <\/span><\/i>Para visualizar a altera\u00e7\u00e3o antes de salvar, poderia-se utilizar o m\u00e9todo <\/span>show()<\/span><\/i>, a partir da nossa imagem alterada: <\/span>out.show()<\/span><\/i>. As altera\u00e7\u00f5es podem ser observadas abaixo. Simples, n\u00e3o?<\/span><\/p>\n \u00c9 importante saber tamb\u00e9m que o objeto imagem possui alguns atributos, como <\/span>filename<\/span><\/i> (nome do arquivo), <\/span>format <\/span><\/i>(qual o formato da imagem), <\/span>mode <\/span><\/i>(que retorna o tipo de pixel utilizado, como CMYK, RGB, etc.), <\/span>size<\/span><\/i>, <\/span>width<\/span><\/i>, <\/span>height<\/span><\/i>, <\/span>info <\/span><\/i>(dicion\u00e1rio referente a dados relacionados \u00e0 imagem) e <\/span>palette <\/span><\/i>(a paleta de cores, se houver).\u00a0<\/span><\/p>\n A Pillow ainda fornece diversas outras funcionalidades como \u201c<\/span>resize()<\/span><\/i>\u201d (alterar tamanho), \u201c<\/span>rotate()<\/span><\/i>\u201d (rotacionar), \u201c<\/span>thumbnail(size)<\/span><\/i>\u201d (criar thumbnail), \u201c<\/span>merge()<\/span><\/i>\u201d (sobrepor\/colar imagens), etc. N\u00e3o deixe de conferir sua documenta\u00e7\u00e3o para descobrir outros usos que essa biblioteca nos fornece! http:\/\/pillow.readthedocs.io\/en\/stable\/<\/span><\/p>\n Beautiful Soup\u00a0<\/b><\/p>\n Em reda\u00e7\u00f5es anteriores essa biblioteca j\u00e1 foi comentada. Ela \u00e9 \u00f3tima para realizar Web Scraping, extraindo as partes desejadas de um arquivo XML ou HTML. A Beautiful Soup se baseia em analisadores Python populares, como lxml e html5lib, permitindo que se experimente diferentes estrat\u00e9gias de an\u00e1lise.<\/span><\/p>\n Indo um pouco al\u00e9m do seu uso na reda\u00e7\u00e3o de Web Scraping, o BeautifulSoup possui algumas outras funcionalidades. Por exemplo,\u00a0<\/span><\/p>\n (note que utilizou-se a requests para obter o conte\u00fado html da p\u00e1gina. A BeautifulSoup apenas divide esse conte\u00fado de acordo com o que desejarmos para realizar an\u00e1lise e scraping)<\/span><\/p>\n Na figura acima, soup recebe um objeto, que pode possuir algumas caracter\u00edsticas. Ao chamarmos <\/span>soup.title<\/span><\/i>, teremos como retorno o que for interpretado como a tag <title> no nosso conte\u00fado html. Title.name, por sua vez, nos retorna o conte\u00fado\/nome encontrado nessa tag,\u00a0 como pode ser observado na figura abaixo:<\/span><\/p>\n Como \u00e9 poss\u00edvel notar, nossos elementos html da p\u00e1gina se transformaram em atributos do objeto soup. Al\u00e9m, outros filtros que podem ser feitos s\u00e3o a busca por links nas tags <a><\/span><\/p>\n e a busca de todo o texto da p\u00e1gina, utilizando o m\u00e9todo get_text() (no contexto, <\/span>(soup.get_text())<\/span><\/i>).\u00a0<\/span><\/p>\n Com esses conhecimentos, j\u00e1 \u00e9 poss\u00edvel fazer buscas interessantes nos sites da web. Use sua imagina\u00e7\u00e3o, verifique suas necessidades e confira a documenta\u00e7\u00e3o da Beautiful Soup para realizar os seus projetos. Lembre-se apenas de cuidar o tipo de informa\u00e7\u00e3o que voc\u00ea est\u00e1 analisando. http:\/\/www.crummy.com\/software\/BeautifulSoup\/bs4\/doc\/<\/span><\/p>\n Bokeh\u00a0<\/b><\/p>\n Esta \u00e9 uma biblioteca para visualiza\u00e7\u00e3o interativa de dados, usando HTML e Javascript para fornecer seus gr\u00e1ficos. Ela \u00e9 relativamente simples de se utilizar e permite a cria\u00e7\u00e3o de diversos tipos de gr\u00e1ficos.<\/span><\/p>\n Geralmente, inicia-se com a importa\u00e7\u00e3o (<\/span>from bokeh.plotting import figure, show<\/span><\/i>), a cria\u00e7\u00e3o de um plot (p<\/span>lot = figure(), com par\u00e2metros variados para figure: title, plot_width, plot_height,\u00a0 x_axis_label,\u00a0 y_axis_label,<\/span><\/i> etc.), um renderizador de linhna (<\/span>p.line()<\/span><\/i>, informando os valores x e y como vetores, legend_label, line_width) e a chamada para sua exibi\u00e7\u00e3o (<\/span>show(plot)<\/span><\/i>). Por exemplo,<\/span><\/p>\n C\u00f3digo:<\/span><\/p>\n Gr\u00e1fico:<\/span><\/p>\n A Bokeh possui uma documenta\u00e7\u00e3o completa que auxiliar\u00e1 na cria\u00e7\u00e3o e customiza\u00e7\u00e3o dos gr\u00e1ficos que precisarmos criar:<\/span><\/p>\n Outras bibliotecas<\/b><\/p>\n Pandas<\/b><\/p>\n Pandas \u00e9 um pacote que auxilia na manipula\u00e7\u00e3o de dados e tamb\u00e9m j\u00e1 foi citada em uma reda\u00e7\u00e3o anterior. Fornece estruturas de dados r\u00e1pidas, flex\u00edveis e expressivas projetadas para tornar o trabalho com dados “relacionais” ou “rotulados” f\u00e1cil e intuitivo. Ele tem como objetivo ser o bloco de constru\u00e7\u00e3o fundamental de alto n\u00edvel para fazer an\u00e1lises de dados pr\u00e1ticos e do mundo real em Python.<\/span><\/p>\n Com a Pandas \u00e9 mais f\u00e1cil lidar com planilhas excel e tabelas sql, dados de matrizes e trabalha com data frames. Ela \u00e9 constru\u00edda a partir do <\/span>NumPy<\/b>, outra biblioteca, esta, para lidar com vetores e matrizes de forma f\u00e1cil e eficiente.<\/span><\/p>\n Scikit Learn\u00a0<\/b><\/p>\n \u00c9 uma biblioteca de aprendizado de m\u00e1quina de c\u00f3digo aberto que oferece suporte ao aprendizado supervisionado e n\u00e3o supervisionado. Ele tamb\u00e9m fornece v\u00e1rias ferramentas para ajuste de modelo, pr\u00e9-processamento de dados, sele\u00e7\u00e3o e avalia\u00e7\u00e3o de modelo e muitos outros utilit\u00e1rios. Ela fornece diversos m\u00e9todos e algoritmos para lidar com machine learning.<\/span><\/p>\n PyGame\u00a0<\/b><\/p>\n \u00a0<\/span> \u00c9 uma biblioteca de jogos multiplataforma que permite a cria\u00e7\u00e3o de interfaces gr\u00e1ficas para jogos de maneira simples. Ela fornece acesso a \u00e1udios, controles, etc.<\/span><\/p>\n Alguns jogos criados usando a biblioteca:<\/span><\/p>\n Wandering Soul<\/span><\/p>\n Super potato bruh<\/span><\/p>\n e Drawn Down Abyss<\/span><\/p>\n Arrow<\/b><\/p>\n A Arrow \u00e9 uma biblioteca que auxilia no uso de datas e horas. Com ela \u00e9 poss\u00edvel criar, alterar, remover e converter datas e horas, de forma muito mais f\u00e1cil e r\u00e1pida, utilizando muito menos c\u00f3digo do que seria necess\u00e1rio para trabalhar com esses dados. Confira a documenta\u00e7\u00e3o em http:\/\/pypi.org\/project\/arrow\/.<\/span><\/p>\n Esses foram alguns exemplos de bibliotecas Python que podem ser \u00fateis em seus projetos. V\u00e1 al\u00e9m de seus usos b\u00e1sicos e se aventurem na sua documenta\u00e7\u00e3o para conhecer novos usos e possibilidades que tornaram seus projetos mais din\u00e2micos e interessantes. Bons estudos!<\/span><\/p>\n \u00a0<\/p>\n Refer\u00eancias<\/b>:<\/b><\/p>\n Ra\u00edssa Arantes<\/b><\/p>\n","protected":false},"excerpt":{"rendered":" Fala pessoal! Esta edi\u00e7\u00e3o do PET-Reda\u00e7\u00e3o traz para voc\u00eas algumas bibliotecas importantes que ir\u00e3o ajud\u00e1-los em seus desenvolvimentos que utilizam a linguagem Python. Vamos come\u00e7ar? Vamos come\u00e7ar pelos conceitos b\u00e1sicos. O que \u00e9 uma biblioteca na computa\u00e7\u00e3o: uma cole\u00e7\u00e3o de c\u00f3digos voltados a resolver um determinado tipo de problema. Nesse contexto, vamos explorar algumas dessas […]<\/p>\n","protected":false},"author":2948,"featured_media":3145,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[124,112],"tags":[74,149],"class_list":["post-3157","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-destaques","category-redacao","tag-linguagem-de-programacao","tag-redacao"],"acf":[],"_links":{"self":[{"href":"http:\/\/www.55bet-pro.com\/pet\/sistemas-de-informacao\/wp-json\/wp\/v2\/posts\/3157","targetHints":{"allow":["GET"]}}],"collection":[{"href":"http:\/\/www.55bet-pro.com\/pet\/sistemas-de-informacao\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/www.55bet-pro.com\/pet\/sistemas-de-informacao\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/www.55bet-pro.com\/pet\/sistemas-de-informacao\/wp-json\/wp\/v2\/users\/2948"}],"replies":[{"embeddable":true,"href":"http:\/\/www.55bet-pro.com\/pet\/sistemas-de-informacao\/wp-json\/wp\/v2\/comments?post=3157"}],"version-history":[{"count":0,"href":"http:\/\/www.55bet-pro.com\/pet\/sistemas-de-informacao\/wp-json\/wp\/v2\/posts\/3157\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"http:\/\/www.55bet-pro.com\/pet\/sistemas-de-informacao\/wp-json\/wp\/v2\/media\/3145"}],"wp:attachment":[{"href":"http:\/\/www.55bet-pro.com\/pet\/sistemas-de-informacao\/wp-json\/wp\/v2\/media?parent=3157"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/www.55bet-pro.com\/pet\/sistemas-de-informacao\/wp-json\/wp\/v2\/categories?post=3157"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/www.55bet-pro.com\/pet\/sistemas-de-informacao\/wp-json\/wp\/v2\/tags?post=3157"}],"curies":[{"name":"wp","href":"http:\/\/api.w.org\/{rel}","templated":true}]}}
<\/p>\n
<\/p>\n
<\/p>\n
<\/p>\n
<\/span><\/p>\n
<\/p>\n
<\/p>\n(Fonte: documenta\u00e7\u00e3o)<\/span><\/h6>\n
<\/p>\nhttp:\/\/docs.bokeh.org\/en\/latest\/docs\/first_steps.html<\/span><\/h6>\n
<\/span><\/p>\n
<\/p>\n
<\/p>\n\n