{"id":3157,"date":"2021-05-24T18:29:24","date_gmt":"2021-05-24T21:29:24","guid":{"rendered":"https:\/\/www.ufsm.br\/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":"https:\/\/www.ufsm.br\/pet\/sistemas-de-informacao\/2021\/05\/24\/bibliotecas-python","title":{"rendered":"Bibliotecas Python"},"content":{"rendered":"\n<p><span style=\"font-weight: 400\">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<p><span style=\"font-weight: 400\">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<p><span style=\"font-weight: 400\">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<p><b>Pillow\u00a0<\/b><\/p>\n<p><span style=\"font-weight: 400\">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<p><span style=\"font-weight: 400\">Com ela \u00e9 poss\u00edvel abrir e editar arquivos de imagem, criar miniaturas\/thumbnails, inserir filtros, dentre outras funcionalidades.<\/span><\/p>\n<p><span style=\"font-weight: 400\">Para utiliz\u00e1-la, \u00e9 necess\u00e1ria sua instala\u00e7\u00e3o: <\/span><i><span style=\"font-weight: 400\">pip install Pillow.<\/span><\/i><span style=\"font-weight: 400\"> 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<p><span style=\"font-weight: 400\">Primeiro \u00e9 realizada a sua importa\u00e7\u00e3o (<\/span><i><span style=\"font-weight: 400\">from PIL import Image, ImageFilter<\/span><\/i><span style=\"font-weight: 400\">) e a abertura da imagem desejada, atrav\u00e9s do comando <\/span><i><span style=\"font-weight: 400\">Image.open(\u201ccaminho_da_imagem.extens\u00e3o\u201d<\/span><\/i><span style=\"font-weight: 400\">). 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<p><img fetchpriority=\"high\" decoding=\"async\" class=\"aligncenter wp-image-3156 size-full\" src=\"https:\/\/www.ufsm.br\/app\/uploads\/sites\/791\/2021\/05\/1.jpeg\" alt=\"\" width=\"437\" height=\"126\" srcset=\"https:\/\/www.ufsm.br\/app\/uploads\/sites\/791\/2021\/05\/1.jpeg 437w, https:\/\/www.ufsm.br\/app\/uploads\/sites\/791\/2021\/05\/1-300x86.jpeg 300w\" sizes=\"(max-width: 437px) 100vw, 437px\" \/><\/p>\n<p><span style=\"font-weight: 400\">Ap\u00f3s essas etapas,\u00a0 s\u00e3o salvas as modifica\u00e7\u00f5es atrav\u00e9s do m\u00e9todo <\/span><i><span style=\"font-weight: 400\">save(). <\/span><\/i><span style=\"font-weight: 400\">Para visualizar a altera\u00e7\u00e3o antes de salvar, poderia-se utilizar o m\u00e9todo <\/span><i><span style=\"font-weight: 400\">show()<\/span><\/i><span style=\"font-weight: 400\">, a partir da nossa imagem alterada: <\/span><i><span style=\"font-weight: 400\">out.show()<\/span><\/i><span style=\"font-weight: 400\">. As altera\u00e7\u00f5es podem ser observadas abaixo. Simples, n\u00e3o?<\/span><\/p>\n<p><img decoding=\"async\" class=\"aligncenter wp-image-3155 size-full\" src=\"https:\/\/www.ufsm.br\/app\/uploads\/sites\/791\/2021\/05\/2.jpeg\" alt=\"\" width=\"506\" height=\"332\" srcset=\"https:\/\/www.ufsm.br\/app\/uploads\/sites\/791\/2021\/05\/2.jpeg 506w, https:\/\/www.ufsm.br\/app\/uploads\/sites\/791\/2021\/05\/2-300x197.jpeg 300w\" sizes=\"(max-width: 506px) 100vw, 506px\" \/><\/p>\n<p><span style=\"font-weight: 400\">\u00c9 importante saber tamb\u00e9m que o objeto imagem possui alguns atributos, como <\/span><i><span style=\"font-weight: 400\">filename<\/span><\/i><span style=\"font-weight: 400\"> (nome do arquivo), <\/span><i><span style=\"font-weight: 400\">format <\/span><\/i><span style=\"font-weight: 400\">(qual o formato da imagem), <\/span><i><span style=\"font-weight: 400\">mode <\/span><\/i><span style=\"font-weight: 400\">(que retorna o tipo de pixel utilizado, como CMYK, RGB, etc.), <\/span><i><span style=\"font-weight: 400\">size<\/span><\/i><span style=\"font-weight: 400\">, <\/span><i><span style=\"font-weight: 400\">width<\/span><\/i><span style=\"font-weight: 400\">, <\/span><i><span style=\"font-weight: 400\">height<\/span><\/i><span style=\"font-weight: 400\">, <\/span><i><span style=\"font-weight: 400\">info <\/span><\/i><span style=\"font-weight: 400\">(dicion\u00e1rio referente a dados relacionados \u00e0 imagem) e <\/span><i><span style=\"font-weight: 400\">palette <\/span><\/i><span style=\"font-weight: 400\">(a paleta de cores, se houver).\u00a0<\/span><\/p>\n<p><span style=\"font-weight: 400\">A Pillow ainda fornece diversas outras funcionalidades como \u201c<\/span><i><span style=\"font-weight: 400\">resize()<\/span><\/i><span style=\"font-weight: 400\">\u201d (alterar tamanho), \u201c<\/span><i><span style=\"font-weight: 400\">rotate()<\/span><\/i><span style=\"font-weight: 400\">\u201d (rotacionar), \u201c<\/span><i><span style=\"font-weight: 400\">thumbnail(size)<\/span><\/i><span style=\"font-weight: 400\">\u201d (criar thumbnail), \u201c<\/span><i><span style=\"font-weight: 400\">merge()<\/span><\/i><span style=\"font-weight: 400\">\u201d (sobrepor\/colar imagens), etc. N\u00e3o deixe de conferir sua documenta\u00e7\u00e3o para descobrir outros usos que essa biblioteca nos fornece! https:\/\/pillow.readthedocs.io\/en\/stable\/<\/span><\/p>\n<p><b>Beautiful Soup\u00a0<\/b><\/p>\n<p><span style=\"font-weight: 400\">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<p><span style=\"font-weight: 400\">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<p><img decoding=\"async\" class=\"aligncenter wp-image-3154 size-full\" src=\"https:\/\/www.ufsm.br\/app\/uploads\/sites\/791\/2021\/05\/3.jpeg\" alt=\"\" width=\"355\" height=\"212\" srcset=\"https:\/\/www.ufsm.br\/app\/uploads\/sites\/791\/2021\/05\/3.jpeg 355w, https:\/\/www.ufsm.br\/app\/uploads\/sites\/791\/2021\/05\/3-300x179.jpeg 300w\" sizes=\"(max-width: 355px) 100vw, 355px\" \/><\/p>\n<p><span style=\"font-weight: 400\">(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<p><span style=\"font-weight: 400\">Na figura acima, soup recebe um objeto, que pode possuir algumas caracter\u00edsticas. Ao chamarmos <\/span><i><span style=\"font-weight: 400\">soup.title<\/span><\/i><span style=\"font-weight: 400\">, teremos como retorno o que for interpretado como a tag &lt;title&gt; 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<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-3153 size-full\" src=\"https:\/\/www.ufsm.br\/app\/uploads\/sites\/791\/2021\/05\/4.jpeg\" alt=\"\" width=\"355\" height=\"62\" srcset=\"https:\/\/www.ufsm.br\/app\/uploads\/sites\/791\/2021\/05\/4.jpeg 355w, https:\/\/www.ufsm.br\/app\/uploads\/sites\/791\/2021\/05\/4-300x52.jpeg 300w\" sizes=\"(max-width: 355px) 100vw, 355px\" \/><\/p>\n<p><span style=\"font-weight: 400\">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 &lt;a&gt;<\/span><\/p>\n<p><span style=\"font-weight: 400\"> <img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-3152 size-full\" src=\"https:\/\/www.ufsm.br\/app\/uploads\/sites\/791\/2021\/05\/5.jpeg\" alt=\"\" width=\"456\" height=\"48\" srcset=\"https:\/\/www.ufsm.br\/app\/uploads\/sites\/791\/2021\/05\/5.jpeg 456w, https:\/\/www.ufsm.br\/app\/uploads\/sites\/791\/2021\/05\/5-300x32.jpeg 300w\" sizes=\"(max-width: 456px) 100vw, 456px\" \/><\/span><\/p>\n<p><span style=\"font-weight: 400\">e a busca de todo o texto da p\u00e1gina, utilizando o m\u00e9todo get_text() (no contexto, <\/span><i><span style=\"font-weight: 400\">(soup.get_text())<\/span><\/i><span style=\"font-weight: 400\">).\u00a0<\/span><\/p>\n<p><span style=\"font-weight: 400\">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. https:\/\/www.crummy.com\/software\/BeautifulSoup\/bs4\/doc\/<\/span><\/p>\n<p><b>Bokeh\u00a0<\/b><\/p>\n<p><span style=\"font-weight: 400\">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<p><span style=\"font-weight: 400\">Geralmente, inicia-se com a importa\u00e7\u00e3o (<\/span><i><span style=\"font-weight: 400\">from bokeh.plotting import figure, show<\/span><\/i><span style=\"font-weight: 400\">), a cria\u00e7\u00e3o de um plot (p<\/span><i><span style=\"font-weight: 400\">lot = figure(), com par\u00e2metros variados para figure: title, plot_width, plot_height,\u00a0 x_axis_label,\u00a0 y_axis_label,<\/span><\/i><span style=\"font-weight: 400\"> etc.), um renderizador de linhna (<\/span><i><span style=\"font-weight: 400\">p.line()<\/span><\/i><span style=\"font-weight: 400\">, informando os valores x e y como vetores, legend_label, line_width) e a chamada para sua exibi\u00e7\u00e3o (<\/span><i><span style=\"font-weight: 400\">show(plot)<\/span><\/i><span style=\"font-weight: 400\">). Por exemplo,<\/span><\/p>\n<p><span style=\"font-weight: 400\">C\u00f3digo:<\/span><\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-3151 size-full\" src=\"https:\/\/www.ufsm.br\/app\/uploads\/sites\/791\/2021\/05\/6.jpeg\" alt=\"\" width=\"500\" height=\"221\" srcset=\"https:\/\/www.ufsm.br\/app\/uploads\/sites\/791\/2021\/05\/6.jpeg 500w, https:\/\/www.ufsm.br\/app\/uploads\/sites\/791\/2021\/05\/6-300x133.jpeg 300w\" sizes=\"(max-width: 500px) 100vw, 500px\" \/><\/p>\n<p><span style=\"font-weight: 400\">Gr\u00e1fico:<\/span><\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-3150 size-full\" src=\"https:\/\/www.ufsm.br\/app\/uploads\/sites\/791\/2021\/05\/7.jpeg\" alt=\"\" width=\"378\" height=\"300\" srcset=\"https:\/\/www.ufsm.br\/app\/uploads\/sites\/791\/2021\/05\/7.jpeg 378w, https:\/\/www.ufsm.br\/app\/uploads\/sites\/791\/2021\/05\/7-300x238.jpeg 300w\" sizes=\"(max-width: 378px) 100vw, 378px\" \/><\/p>\n<h6 style=\"text-align: center\"><span style=\"font-weight: 400\">(Fonte: documenta\u00e7\u00e3o)<\/span><\/h6>\n<p><span style=\"font-weight: 400\">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<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-3149 size-full\" src=\"https:\/\/www.ufsm.br\/app\/uploads\/sites\/791\/2021\/05\/8.jpeg\" alt=\"\" width=\"571\" height=\"576\" srcset=\"https:\/\/www.ufsm.br\/app\/uploads\/sites\/791\/2021\/05\/8.jpeg 571w, https:\/\/www.ufsm.br\/app\/uploads\/sites\/791\/2021\/05\/8-297x300.jpeg 297w, https:\/\/www.ufsm.br\/app\/uploads\/sites\/791\/2021\/05\/8-150x150.jpeg 150w\" sizes=\"(max-width: 571px) 100vw, 571px\" \/><\/p>\n<h6 style=\"text-align: center\"><span style=\"font-weight: 400\">https:\/\/docs.bokeh.org\/en\/latest\/docs\/first_steps.html<\/span><\/h6>\n<p><b>Outras bibliotecas<\/b><\/p>\n<p><b>Pandas<\/b><\/p>\n<p><span style=\"font-weight: 400\">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 &#8220;relacionais&#8221; ou &#8220;rotulados&#8221; 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<p><span style=\"font-weight: 400\">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><b>NumPy<\/b><span style=\"font-weight: 400\">, outra biblioteca, esta, para lidar com vetores e matrizes de forma f\u00e1cil e eficiente.<\/span><\/p>\n<p><b>Scikit Learn\u00a0<\/b><\/p>\n<p><span style=\"font-weight: 400\">\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<p><b>PyGame\u00a0<\/b><\/p>\n<p><span style=\"font-weight: 400\">\u00a0<\/span> <span style=\"font-weight: 400\">\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<p><span style=\"font-weight: 400\">Alguns jogos criados usando a biblioteca:<\/span><\/p>\n<p><span style=\"font-weight: 400\">Wandering Soul<\/span><\/p>\n<p><span style=\"font-weight: 400\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-3148 size-full\" src=\"https:\/\/www.ufsm.br\/app\/uploads\/sites\/791\/2021\/05\/9.jpeg\" alt=\"\" width=\"897\" height=\"594\" srcset=\"https:\/\/www.ufsm.br\/app\/uploads\/sites\/791\/2021\/05\/9.jpeg 897w, https:\/\/www.ufsm.br\/app\/uploads\/sites\/791\/2021\/05\/9-300x199.jpeg 300w, https:\/\/www.ufsm.br\/app\/uploads\/sites\/791\/2021\/05\/9-768x509.jpeg 768w\" sizes=\"(max-width: 897px) 100vw, 897px\" \/><\/span><\/p>\n<p><span style=\"font-weight: 400\">Super potato bruh<\/span><\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-3147 size-full\" src=\"https:\/\/www.ufsm.br\/app\/uploads\/sites\/791\/2021\/05\/10.jpeg\" alt=\"\" width=\"797\" height=\"497\" srcset=\"https:\/\/www.ufsm.br\/app\/uploads\/sites\/791\/2021\/05\/10.jpeg 797w, https:\/\/www.ufsm.br\/app\/uploads\/sites\/791\/2021\/05\/10-300x187.jpeg 300w, https:\/\/www.ufsm.br\/app\/uploads\/sites\/791\/2021\/05\/10-768x479.jpeg 768w\" sizes=\"(max-width: 797px) 100vw, 797px\" \/><\/p>\n<p><span style=\"font-weight: 400\">e Drawn Down Abyss<\/span><\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-3146 size-full\" src=\"https:\/\/www.ufsm.br\/app\/uploads\/sites\/791\/2021\/05\/11.jpeg\" alt=\"\" width=\"400\" height=\"225\" srcset=\"https:\/\/www.ufsm.br\/app\/uploads\/sites\/791\/2021\/05\/11.jpeg 400w, https:\/\/www.ufsm.br\/app\/uploads\/sites\/791\/2021\/05\/11-300x169.jpeg 300w\" sizes=\"(max-width: 400px) 100vw, 400px\" \/><\/p>\n<p><b>Arrow<\/b><\/p>\n<p><span style=\"font-weight: 400\">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 https:\/\/pypi.org\/project\/arrow\/.<\/span><\/p>\n<p><span style=\"font-weight: 400\">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<p>\u00a0<\/p>\n<p><b>Refer\u00eancias<\/b><b>:<\/b><\/p>\n<ul>\n<li><span style=\"font-weight: 400\">https:\/\/www.treinaweb.com.br\/blog\/qual-a-diferenca-entre-framework-e-biblioteca<\/span><\/li>\n<li>https:\/\/pillow.readthedocs.io\/en\/stable\/<\/li>\n<li>https:\/\/www.tutorialspoint.com\/python_pillow\/python_pillow_quick_guide.htm<\/li>\n<li>https:\/\/www.crummy.com\/software\/BeautifulSoup\/bs4\/doc\/<\/li>\n<li>https:\/\/acervolima.com\/python-visualizacao-de-dados-usando-bokeh\/<\/li>\n<li>https:\/\/www.vooo.pro\/insights\/visualizacao-interativa-de-dados-usando-bokeh-em-python\/<\/li>\n<li>https:\/\/terminalroot.com.br\/2019\/12\/as-30-melhores-bibliotecas-e-pacotes-python-para-iniciantes.html<\/li>\n<li>https:\/\/pandas.pydata.org\/docs\/getting_started\/overview.html<\/li>\n<li>https:\/\/scikit-learn.org\/<\/li>\n<li>https:\/\/minerandodados.com.br\/cafe-com-codigo-06-introducao-machine-learning-com-scikit-learn\/<\/li>\n<li>https:\/\/kenzie.com.br\/blog\/pygame\/<\/li>\n<li>https:\/\/www.pygame.org\/<\/li>\n<li>https:\/\/pypi.org\/project\/arrow\/<\/li>\n<li>https:\/\/arrow.readthedocs.io\/en\/latest\/<\/li>\n<\/ul>\n<p style=\"text-align: right\"><b>Ra\u00edssa Arantes<\/b><\/p>\n","protected":false},"excerpt":{"rendered":"<p>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 [&hellip;]<\/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":"https:\/\/www.ufsm.br\/pet\/sistemas-de-informacao\/wp-json\/wp\/v2\/posts\/3157","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.ufsm.br\/pet\/sistemas-de-informacao\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.ufsm.br\/pet\/sistemas-de-informacao\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.ufsm.br\/pet\/sistemas-de-informacao\/wp-json\/wp\/v2\/users\/2948"}],"replies":[{"embeddable":true,"href":"https:\/\/www.ufsm.br\/pet\/sistemas-de-informacao\/wp-json\/wp\/v2\/comments?post=3157"}],"version-history":[{"count":0,"href":"https:\/\/www.ufsm.br\/pet\/sistemas-de-informacao\/wp-json\/wp\/v2\/posts\/3157\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.ufsm.br\/pet\/sistemas-de-informacao\/wp-json\/wp\/v2\/media\/3145"}],"wp:attachment":[{"href":"https:\/\/www.ufsm.br\/pet\/sistemas-de-informacao\/wp-json\/wp\/v2\/media?parent=3157"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.ufsm.br\/pet\/sistemas-de-informacao\/wp-json\/wp\/v2\/categories?post=3157"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.ufsm.br\/pet\/sistemas-de-informacao\/wp-json\/wp\/v2\/tags?post=3157"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}