Python

Funções em Python

Funções em Python

Fala galera do mundo dos dados! Chegando mais um conteúdo da Iniciação em Python – Começando do ZERO. E o tema de hoje são as funções da linguagem Python. 

Para finalizar as estruturas lógicas temos as funções em Python. Cada função é batizada com um nome e é uma sequência de comandos que executa alguma tarefa. A sua principal finalidade é nos ajudar a organizar, padronizar, simplificar programas em pedaços que correspondam a como imaginamos uma solução do problema, para evitar que todos que utilizam a linguagem criem tudo do zero.

Vale lembrar que as funções em Python, também podem ser criadas pelos desenvolvedores em seus códigos, a partir de suas necessidades com a sua própria lógica. Aqui conheceremos algumas funções prontas muito interessantes já disponíveis na linguagem.

Funções da Biblioteca matplotlib

A biblioteca matplotlib é uma biblioteca gráfica, que permite o usuário criar visualizações estáticas, animadas e interativas em Python. Para mais informações sua principal referencia deve ser a documentação oficia da lib, disponível em matplotlib.org.

Função Pyplot do matplotlib

A função Pyplot está disponível na biblioteca matplotlib que deve ser importada para que seja possível utilizar a função. O conjunto de funções disponível em matplotlib.pyplot permite criação de gráficos de vários tipos, desenhe linhas na área do gráfico, personalize com títulos, legendas entre outras. Veremos alguns exemplos a seguir.

Gráficos pyplot – Impressão de gráficos de linha, barras e pizza.

# Importa biblioteca
import matplotlib.pyplot as plt 
# Lista de strings
meses = ['Jan', 'Fev', 'Mar', 'Abr', 'Mai', 'Jun'] 
# Lista de valores 
valores = [10, 5, 20, 0, 35, 40] 
# Plota um gráfico de linhas 
plt.plot(meses, valores) 
# Exibe o gráfico gerado acima
plt.show() 
# Plota um gráfico de barras
plt.bar(meses, valores) 
# Exibe o gráfico gerado acima
plt.show() 
# Plota um gráfico de pizza
plt.pie(valores, labels=meses) 
# Exibe o gráfico gerado acima
plt.show() 

Na imagem abaixo, temos três gráficos. O primeiro é um gráfico de linhas gerado com a função plt.plot, informando apenas os valores dos eixos x e y com as listas meses e valores respectivamente. Em seguida temos um gráfico de barras gerado com a função plt.bar, também informando apenas os valores dos eixos x e y com as listas meses e valores respectivamente. Para finalizar, um gráfico de pizza gerado com a função plt.pie, nele informando os valores e as legendas com as listas meses e valores respectivamente.

Funções da Biblioteca nltk

A biblioteca nltk é uma biblioteca para trabalhar com linguagem natural, que permite o usuário processamento de texto para classificação, tokenização, lematização entre muitas outra funcionalidades em Python. Para mais informações sua principal referencia deve ser a documentação oficia da lib, disponível em nltk.org.

Função word_tokenize da nltk

A função word_tokenize está disponível na biblioteca nltk, permite separar palavras de um texto, ou seja, pegar cada palavra de uma sentença.

# Importa a biblioteca
import nltk 
# String
texto = 'O Python é a melhor linguagem do mundo!' 
# Função para separar palavras
palavras = nltk.word_tokenize(texto) 
# Imprime a lista de palavras criada
print(palavras) 

Podemos observar na imagem abaixo, que a função word_tokenize retorna uma lista contendo cada palavra incluindo os caracteres especiais e excluindo os espaços.

Função FreqDist da nltk

A função FreqDist também está disponível na biblioteca nltk, e permite retornar a frequência das dos caracteres um texto ou a frequência das palavras de uma lista, caso o texto tenha sido separados em palavras com o uso da função word_tokenize por exemplo.

# Importa a biblioteca
import nltk 
# Importa a biblioteca
from nltk import FreqDist 
# String
texto = 'O Python é a melhor linguagem do mundo!' 
# Função para separar palavras 
palavras = nltk.word_tokenize(texto) 
# Retorna a frequência do caracteres da string 
FreqDist(texto) 
# Retorna a frequência das palavras da lista
FreqDist(palavras) 

Observe o resultado do código na imagem abaixo. Na primeira chamada da função FreqDist(texto) ele conta a frequência de todos os caracteres inclusive espaços e caracteres especiais, já na segunda chamada da função FreqDist(palavras) é contada a frequência após uma separação de palavras o que exclui o espaço da contagem.

Funções da Biblioteca numpy

A biblioteca numpy é uma biblioteca para trabalhar com funções matemáticas, seja de funções simples como geradores de números aleatórios, até funções mais complexas como transformadas de Fourier, tudo isso em Python. Para mais informações sua principal referencia deve ser a documentação oficia da lib, disponível em numpy.org.

Função arange do numpy

A função arange está disponível na biblioteca numpy, e permite a criação de arranjos com valores uniformemente espaçados dentro de um determinado intervalo. Podendo ser definido um ponto de partida, um ponto de parada e o tamanho de incremento. Observe que o ponto de parada não será incluído na saída da matriz.

Alguns exemplos de como utilizar a função arange que possui os seguintes parâmetros arange(inicio, fim, incremento).

# Importando a biblioteca
import numpy as np 
# Função arange apenas com o parâmetro final 
np.arange(6) 
# Função arange com parâmetros inicial e final 
np.arange(6, 10) 
# Função arange com parâmetros inicial, final e incremento
np.arange(6, 10 ,2) 

A imagem abaixo tem o resultado dos três exemplos do código acima. No primeiro exemplo, podemos observar, que os parâmetros inicial (valor 0) e incremento (valor 1) são default caso não sejam informados, um detalhe é que e o parâmetro final não é incluído na saída. No segundo exemplo, foi informado os parâmetros inicial, final e o incremento foi default (valor 1). Já no último exemplo, foi informado todos os parâmetros.

Função linspace do numpy

A função linspace está disponível também na biblioteca numpy, permite a criação de arranjos com valores espaçados de modo uniforme em um intervalo. Dado o início, o fim e a quantidade de valores, linspace irá distribuí-los uniformemente para você em uma matriz.

Exemplificando a função linspace que possui os seguintes parâmetros linspace(inicio, fim, quantidade), uma pequena diferença da função que vimos anteriormente.

# Importando a biblioteca
import numpy as np 
# Função linspace com parâmetros inicial e final
np.linspace(1, 50) 
# Função linspace com parâmetros inicial, final e quantidade
np.linspace(1, 50 ,10) 

Podemos observar na imagem abaixo dois exemplos. Primeiro sem informar o parâmetro quantidade, então, é utilizado o default quantidade (valor 50), e o parâmetro final incluído na saída, mais uma diferença da função arange. Já no segundo foi informado todos os parâmetros.

Funções da Biblioteca wordcloud

A biblioteca wordcloud é uma biblioteca para trabalhar com nuvens de palavras, criando a partir de textos visualizações gráficas bem interessantes em Python. Para mais informações sua principal referencia deve ser a documentação oficia da lib, disponível em amueller.github.io/word_cloud.

Função WordCloud

A função WordCloud está disponível da biblioteca wordcloud, permite a criação de uma nuvem de palavras a partir de uma string, vamos ver um exemplo a seguir.

Nuvem de Palavras Simples – Exemplo de uma nuvem de palavras simples.

# Importa biblioteca
from wordcloud import WordCloud 
# Importa biblioteca
import matplotlib.pyplot as plt 
# Texto como String
texto = '''Python é uma linguagem de programação de alto nível,
 interpretada, de script, imperativa, orientada a objetos,
 funcional, de tipagem dinâmica e forte. Foi lançada por
 Guido van Rossum em 1991. Atualmente possui um modelo de
 desenvolvimento comunitário, aberto e gerenciado pela
 organização sem fins lucrativos Python Software Foundation.'''
# parâmetros para plotagem
wc = WordCloud(background_color="white", 
               max_words=1000,
               contour_width=3, 
               contour_color='firebrick') 
# Gera a plotagem
wc.generate(texto) 
# Configura Tamanho
plt.figure(figsize=[20,10]) 
# Parametro de exibição
plt.imshow(wc, interpolation='bilinear') 
# Parametro de exibição
plt.axis("off") 
# Exibe a nuvem de palavras
plt.show() 

Observe a imagem resultado do exemplo de código da nuvem de palavras da forma mais simples possível.

Nuvem de Palavras em Figuras – Exemplo de uma nuvem de palavras criada dentro de uma imagem.

# Importa biblioteca
from wordcloud import WordCloud
# Importa biblioteca
import matplotlib.pyplot as plt
# Importa biblioteca
import nltk
# Importa biblioteca
import numpy as np 
# Importa biblioteca
from PIL import Image 
# Texto como String
texto = '''Python é uma linguagem de programação de alto nível,
 interpretada, de script, imperativa, orientada a objetos,
 funcional, de tipagem dinâmica e forte. Foi lançada por
 Guido van Rossum em 1991. Atualmente possui um modelo de
 desenvolvimento comunitário, aberto e gerenciado pela
 organização sem fins lucrativos Python Software Foundation.'''
# Seleciona a imagem para plotagem
python = np.array(Image.open('C:\python\python.png')) 
# parâmetros para plotagem
wc = WordCloud(background_color="white", 
               max_words=1000,
               mask=python, 
               contour_width=3,
               contour_color='firebrick') 
# Gera a plotagem
wc.generate(texto) 
# Salva uma cópia na nuvem de palavras
wc.to_file('C:\python\python_wordcloud.png') 
# Configura Tamanho
plt.figure(figsize=[20,10]) 
# Parametro de exibição
plt.imshow(wc, interpolation='bilinear') 
# Parametro de exibição
plt.axis("off") 
# Exibe a nuvem de palavras
plt.show() 

Já nesta outra imagem o resultado do exemplo da nuvem de palavras com a plotagem em uma figura.

E então, chegamos ao fim de mais um conteúdo da série Iniciação em Python – Começando do ZERO. Espero que esse conteúdo sobre funções em Python te ajude na sua jornada e até a próxima! Abraços ao cubo.

Conteúdos ao Cubo

Por fim, deixo sugestões de outros conteúdos que você vai encontrar no Dados ao Cubo, sempre trazendo um pouco do mundo dos dados.

Finalizo com um convite para você ser Parceiro de Publicação Dados ao Cubo e escrever o próximo artigo, compartilhando conhecimento para toda a comunidade de dados. Não esqueça de assinar a nossa Newsletter para ficar por dentro de todas as novidades. 

Gostou? Compartilhe!

Deixe um comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *