Descubra as principais Funções do Python!

Neste post veremos algumas das principais funções do Python, desde as mais básicas até algumas mais avançadas que vão mudar a maneira como você escreve seus códigos!

As principais funções nativas do Python são print() (exibir dados), help() (ver documentação), range() (gerar sequências), map() e filter() (transformar e filtrar listas), sum() (somar), sorted() (ordenar), enumerate() (percorrer com índice), zip() (combinar listas) e open() (abrir arquivos). Elas já vêm com a linguagem e cobrem grande parte das tarefas do dia a dia, sem precisar instalar nada.

Domine as 10 Principais Funções

Conheça as 10 funções do Python que são indispensáveis para todo programador! Aprenda a utilizar funções como print(), map() e open() e aprimore seus códigos!

Para fazer o download do(s) arquivo(s) utilizados na aula, preencha com o seu e-mail:

Não vamos te encaminhar nenhum tipo de SPAM! A Hashtag Treinamentos é uma empresa preocupada com a proteção de seus dados e realiza o tratamento de acordo com a Lei Geral de Proteção de Dados (Lei n. 13.709/18). Qualquer dúvida, nos contate.

Introdução - Funções em Python

Python é uma linguagem de programação poderosa e versátil, amplamente utilizada por programadores ao redor do mundo.

Conhecida por sua sintaxe simples e clara, o Python pode ser aplicado em diversas áreas, tornando-se uma das linguagens de programação mais populares no mercado de trabalho.

Você pode encontrar Python sendo utilizado em campos como análise de dados, inteligência artificial, desenvolvimento web, automação de tarefas, criação de sistemas e aplicativos, entre outros.

Parte do que torna o Python uma linguagem tão eficiente é o vasto conjunto de funções que ele oferece. Por isso, é fundamental que qualquer programador, desde iniciantes até especialistas, conheça e domine essas funções.

Nesta postagem, vamos explorar 10 das principais funções do Python que você precisa conhecer para aprimorar seus códigos e projetos.

As 10 principais funções

Função print()

A função print() é uma das mais básicas e provavelmente uma das primeiras que você aprendeu ao começar a programar em Python. Essa função é utilizada para exibir informações na tela, seja no terminal ou no console.

A sintaxe do print é bem simples: basta definir entre parênteses o argumento ou valor que desejamos exibir. Esse valor pode ser um texto, um número, uma variável, entre outros.

Python
produto = "iphone"
quantidade_estoque = 200
print("O produto", produto, "tem", quantidade_estoque, "unidades no estoque")
Função print()

Você pode usar o print para imprimir uma ou mais informações, e além disso, pode personalizá-lo através de alguns parâmetros.

Por padrão, quando a função print recebe mais de uma informação, ela separa esses valores por um espaço.

Através do parâmetro sep, é possível definir o separador entre os itens, permitindo formatar a saída de acordo com a sua necessidade.

Python
produto = "iphone"
quantidade_estoque = 200
print("O produto", produto, "tem", quantidade_estoque, "unidades no estoque", sep=";")
Função print() com separador

Outro parâmetro que podemos aplicar para personalizar a função print é o end. Esse parâmetro define o que deve ser impresso ao final da string gerada pelo print.

Por padrão, o end é definido como \n, ou seja, ao final de toda chamada de uma função print, ele adicionará uma nova linha.

Por exemplo, para criar uma contagem regressiva, podemos utilizar o caractere especial \r para que, ao invés de pular uma linha a cada nova chamada, o print retorne para o início da linha anterior e sobrescreva a saída.

Python
import time
print("Contagem")
for i in range(5):
    print(5 - i, end="\r")
    time.sleep(1)
print("Acabou")

Dessa forma, ao invés de termos 5 linhas com cada um dos números definidos dentro do loop for, os valores serão substituídos a cada execução, até restar apenas a mensagem "Contagem" e "Acabou".

Contador com print

Leia também: Print no Python – Como Personalizar os Prints

Função help()

A função help() é uma ferramenta indispensável para qualquer programador Python. Essa função fornece acesso rápido à documentação de funções e módulos.

Com ela, você pode entender facilmente e de forma prática o funcionamento de qualquer função, obtendo informações sobre os parâmetros e funcionalidades diretamente no terminal.

Python
help(print)
Função help

Essa função também pode ser aplicada em funções criadas por você, desde que, dentro da sua função, você tenha definido uma docstring.

O uso de docstrings em suas próprias funções permite que você documente o que cada função faz, quais parâmetros recebe e o que retorna. Utilizando a função help, você pode visualizar essas informações.

Python
def calcular_imposto(faturamento, taxa):
    """
    faturamento (float): o faturamento da empresa que vamos calcular o imposto
    taxa (float): a taxa percentual de imposto sobre o faturamento (ex: 0.2)

    returns: imposto, faturamento_liquido
    imposto (float):  valor total do imposto calculado sobre o faturamento
    faturamento_liquido (float): quanto sobrou do faturamento depois de descontado o imposto
    """
    imposto = faturamento * taxa
    return imposto, faturamento - imposto

help(calcular_imposto)
Função help para função criada

Isso é extremamente útil quando você está trabalhando em um projeto extenso e precisa relembrar o que um determinado parâmetro ou função faz.

Função range()

A função range() é essencial para gerar intervalos numéricos, sendo amplamente utilizada em loops.

Ela permite criar sequências personalizadas, como contagens crescentes, decrescentes, e com passos específicos. Vamos ver um exemplo de uso dessa função para gerar uma lista.

Python
lista = list(range(5))
print(range(5))
print(lista)
Função range()

Perceba que range(5) gera os números de 0 a 4, pois o primeiro número é incluído, mas o último não, seguindo o mesmo padrão de funcionamento das listas em Python.

É possível personalizar o intervalo com diferentes valores iniciais e finais. Por exemplo, range(1, 6) gera os números de 1 a 5.

Python
lista = list(range(1, 6))
print(lista)
Função range() com início e final

Além disso, essa função pode receber um terceiro parâmetro, o step, que define o passo da contagem. Por exemplo, um step de 2 permite contar de dois em dois.

Python
lista = list(range(1, 10, 2))
print(lista)
Função range() com step

Esse parâmetro também pode ser negativo, permitindo uma contagem regressiva.

Python
lista = list(range(5, 0, -1))
print(lista)
Função range() com contagem regressiva

Função map()

Com a função map(), você pode aplicar uma função específica a todos os itens de uma lista ou iterável. Essa função recebe como parâmetros a função que deve ser aplicada e a coleção correspondente.

Por exemplo, considere uma função que calcula aumentos salariais com base em duas regras específicas: salários acima de R$3.000 recebem um aumento de 8%, enquanto os abaixo recebem 10%.

A função map consegue aplicar a função de cálculo a cada item da lista fornecida. O resultado é um objeto do tipo map, que pode ser convertido em uma lista utilizável com a função list().

Python
salarios = [1000, 5000, 7000, 850]

def aumentar_salario(salario):
    if salario > 3000:
        novo_salario = salario * 1.08
    else:
        novo_salario = salario * 1.1
    return novo_salario

novos_salarios = list(map(aumentar_salario, salarios))
print(novos_salarios)
Função map()

Isso é particularmente útil quando combinado com expressões lambda, simplificando o código e tornando-o mais legível.

Python
salarios = [1000, 5000, 7000, 850]
novos_salarios = list(map(lambda x: x * 1.1, salarios))
print(novos_salarios)
Função map() com expressões lambda

Saiba mais: Map no Python – O que é e como funciona?

Função filter()

A função filter() é semelhante à map(), mas em vez de aplicar uma função a todos os elementos de uma lista, ela filtra esses elementos com base em uma condição específica definida por uma função.

Essa função recebe como parâmetros uma função e uma lista, retornando apenas os elementos para os quais a função avalia como verdadeiro. Se a condição for satisfeita, o item é incluído na nova lista; caso contrário, não é incluído.

Por exemplo, vamos utilizar uma função lambda para filtrar os salários da lista que são maiores que R$2.000.

Python
salarios = [1000, 5000, 7000, 850]

salarios_altos = list(filter(lambda x: x > 2000, salarios))
print(salarios_altos)
Função filter()

Observe que a função retorna apenas os valores que satisfazem o critério definido. Essa é uma ferramenta poderosa para a filtragem de dados.

Saiba mais: Map e Filter no Python

Função sum()

A função sum() é bastante simples e intuitiva, realizando a soma dos itens de uma lista.

Python
custos = [600, 5000, 350, 4000]
custo_total = sum(custos)
print(custo_total)
Função sum()

No entanto, podemos personalizar o comportamento da função passando o parâmetro start, que permite iniciar a soma a partir de um valor específico. Isso é útil em cenários onde há um valor fixo que deve ser adicionado à soma total.

Python
custos = [600, 5000, 350, 4000]
custo_total = sum(custos, start=1000)
print(custo_total)
Função sum() com start

Ao usar o parâmetro start, você pode ajustar a soma total conforme necessário.

Função sorted()

A função sorted() é fundamental para ordenar listas e outros iteráveis em Python. Por padrão, a função sorted() ordena os valores em ordem crescente.

Python
salarios = [1000, 5000, 7000, 850]
salarios_ordenados = sorted(salarios)
print(salarios_ordenados)
Função sorted()

No entanto, você pode configurá-la para ordenar em ordem decrescente usando o parâmetro reverse=True.

Python
salarios = [1000, 5000, 7000, 850]
salarios_ordenados = sorted(salarios, reverse=True)
print(salarios_ordenados)
Função sorted() com reverse

Além disso, o parâmetro key permite ordenar listas com base em critérios personalizados, como funções.

Por exemplo, podemos ordenar os salários considerando adicionais e outros benefícios para determinar o salário total de cada funcionário.

Python
salarios = [
    (1000, 500, 180),
    (5000, 40, 200),
    (7000, 0, 0),
    (600, 4000, 150)
]
funcionarios_ordenados = sorted(salarios, reverse=True, key=lambda x: sum(x))
print(funcionarios_ordenados)
Função sorted() com parâmetro key

Função enumerate()

A função enumerate() facilita a iteração sobre listas, fornecendo tanto o índice quanto o valor de cada item. Isso é especialmente útil quando é necessário associar elementos de diferentes listas.

Ícone PythonPython Impressionador

Você vai aprender a linguagem de Programação que mais cresce no Mundo para fazer automações incríveis, desenvolver sites, fazer análises de dados, trabalhar com Ciência de Dados, Inteligência Artificial, mesmo que você nunca tenha tido nenhum contato com Programação na vida.

Começar agoraSeta para a direita
Fundo PythonTelas Python
Luz Python

Por exemplo, imagine que você tenha uma lista de salários e outra de funcionários, e deseja imprimir os novos salários junto aos nomes correspondentes.

Usando um loop for, você pode acessar cada salário individualmente. No entanto, para associar corretamente os salários aos funcionários, você também precisa capturar os índices.

Com a função enumerate, ao iterar sobre a lista de salários, você obtém o índice correspondente, que pode ser usado para identificar o funcionário na lista de funcionários, já que as listas estão em ordem correspondente.

Python
salarios = [1000, 5000, 7000, 850]
funcionarios = ["lira", "alon", "amanda", "marcus"]

for i, salario in enumerate(salarios):
    funcionario = funcionarios[i]
    print("Novo salário do",funcionario, "é", salario * 1.1)
Função enumerate()

Saiba mais: Enumerate no Python – Loop com índices

Função zip()

Com a função zip(), você pode combinar duas ou mais listas em uma única lista de tuplas, onde cada tupla agrupa elementos correspondentes das listas originais.

Considerando o mesmo exemplo da função enumerate(), com a função zip() é possível associar diretamente funcionários e seus respectivos salários sem precisar gerenciar os índices manualmente.

Python
salarios = [1000, 5000, 7000, 850]
funcionarios = ["lira", "alon", "amanda", "marcus"]

print(list(zip(funcionarios, salarios)))
função zip()

Podemos exibir o nome e o novo salário dos funcionários assim:

Python
salarios = [1000, 5000, 7000, 850]
funcionarios = ["lira", "alon", "amanda", "marcus"]

for funcionario, salario in zip(funcionarios, salarios):
    print("Novo salário do",funcionario, "é", salario * 1.1)
função zip() para calcular aumento dos salários

Além disso, podemos usar o resultado da função zip() convertendo-o em um dicionário Python.

Na criação do dicionário, o primeiro valor passado para a função zip se torna a chave (nome do funcionário), enquanto o segundo valor se torna o valor associado (salário).

Python
salarios = [1000, 5000, 7000, 850]
funcionarios = ["lira", "alon", "amanda", "marcus"]

dic_salarios = dict(zip(funcionarios, salarios)) 
print(dic_salarios)
Dicionário com função zip

Função open()

A função open() é essencial para a manipulação de arquivos em Python. Ela permite abrir arquivos para leitura, escrita ou adição de conteúdo, suportando vários modos de abertura e diferentes codificações de texto.

Para abrir um arquivo, especifique o nome do arquivo e o modo de abertura: r para leitura ou w para escrita. O modo w cria um novo arquivo caso ele não exista, ou sobrescreve o conteúdo de um arquivo existente.

Após abrir um arquivo no modo de escrita, é possível adicionar informações, como criar um arquivo de texto com os novos salários dos funcionários.

Feita as edições e operações no arquivo, o comando close deve ser utilizado para fechar e encerrar o arquivo corretamente.

Python
salarios = [1000, 5000, 7000, 850]
funcionarios = ["lira", "alon", "amanda", "marcus"]

arquivo = open("salarios_funcionarios.txt", "w")

for funcionario, salario in zip(funcionarios, salarios):
    arquivo.write(f"Novo salário do {funcionario} é {salario * 1.1}\n")
arquivo.close()

Executando esse código, teremos o arquivo salarios_funcionarios.txt criado e com as informações registradas.

arquivo salarios_funcionarios.txt

No entanto, ao usar a função open, por padrão, não há codificação aplicada, o que pode resultar na perda de caracteres especiais, como acentos. Para evitar que isso aconteça, podemos especificar a codificação utilizando o parâmetro encoding.

Python
salarios = [1000, 5000, 7000, 850]
funcionarios = ["lira", "alon", "amanda", "marcus"]

arquivo = open("salarios_funcionarios.txt", "w", encoding="utf-8")

for funcionario, salario in zip(funcionarios, salarios):
    arquivo.write(f"Novo salário do {funcionario} é {salario * 1.1}\n")
arquivo.close()
arquivo salarios_funcionarios.txt com encoding

Esse parâmetro é essencial tanto ao escrever quanto ao ler arquivos que contenham caracteres especiais.

Python
arquivo = open("salarios_funcionarios.txt", "r", encoding="utf-8")
texto = arquivo.read()
print("Texto do arquivo:")
print(texto)
arquivo.close()
Abrindo arquivo

Um cuidado importante ao usar a função open() é sempre executar o comando close para fechar o arquivo após a leitura ou escrita.

Caso contrário, o arquivo permanecerá aberto na memória do programa, o que pode causar problemas ao tentar reabrir ou modificar o arquivo posteriormente.

Além dos modos de abertura w (escrita) e r (leitura), existe o modo a (adicionar/append). Esse modo permite adicionar conteúdo a um arquivo existente sem substituir o que já está lá, sendo muito útil para manter registros ou logs.

Python
arquivo = open("salarios_funcionarios.txt", "a", encoding="utf-8")

for funcionario, salario in zip(funcionarios, salarios):
    arquivo.write(f"Novo salário do {funcionario} é {salario * 1.1}\n")
arquivo.close()

with open("salarios_funcionarios.txt", "r", encoding="utf-8") as arquivo:
    texto = arquivo.read()
print("Texto do arquivo:")
print(texto)
Modo append da função open()
Abrindo arquivo com estrutura with

Uma abordagem mais recomendada para o gerenciamento de arquivos em Python é o uso da estrutura with. Essa estrutura permite o fechamento automático do arquivo após a execução dos comandos dentro do bloco with, evitando erros no código.

Python
with open("salarios_funcionarios.txt", "r", encoding="utf-8") as arquivo:
    texto = arquivo.read()
print("Texto do arquivo:")
print(texto)
with open as f

O que é a estrutura with open as f no Python?
É a forma recomendada para abrir e manipular arquivos em Python, como arquivos de texto, CSV ou outros.

Ela garante que o arquivo seja aberto, usado e fechado automaticamente de forma segura, mesmo se ocorrer um erro, evitando problemas como arquivos travados ou conexões abertas. Essa estrutura também é útil para gerenciar outros recursos, como conexões com bancos de dados ou navegadores.

Por que usar with open?
Usar with open traz várias vantagens para gerenciar recursos com segurança:

  • Fechamento automático: O arquivo ou recurso é fechado automaticamente ao sair do bloco with, mesmo em caso de erros, eliminando a necessidade de chamar close().
  • Prevenção de erros: Evita problemas como arquivos que não podem ser editados por outros programas porque ainda estão abertos.
  • Eficiência no código: Simplifica o gerenciamento de recursos, reduzindo linhas de código e possíveis esquecimentos.
  • Aplicação ampla: Funciona para arquivos, conexões com bancos de dados, acessos a sites ou automações com navegadores.

Como funciona a estrutura with open?
A estrutura with open segue o formato:

Python
with open('vendas.txt', 'r') as arquivo:
    texto = arquivo.read()
    print(texto)

Aqui, o Python:

  1. Abre o arquivo vendas.txt no modo leitura ('r').
  2. Atribui o arquivo à variável arquivo (comumente chamada de f, abreviação de file).
  3. Executa as ações dentro do bloco (ex.: ler o conteúdo com read()).
  4. Fecha o arquivo automaticamente ao sair do bloco with.

Quais são os parâmetros do open()?
A função open() aceita dois parâmetros principais:

  • Nome do arquivo: Inclui o caminho e a extensão (ex.: vendas.txt ou C:/Users/Joao/Downloads/vendas.txt). Se o arquivo estiver na mesma pasta do código, basta o nome com extensão.
  • Modo de abertura: Define como o arquivo será usado. Os modos principais são:
    • 'r' (leitura): Apenas lê o conteúdo do arquivo. Exemplo: arquivo.read() retorna o texto completo.
    • 'a' (append): Adiciona conteúdo ao final do arquivo.
    • 'w' (escrita): Cria um novo arquivo ou sobrescreve um existente.

Exemplo modo 'a':

Python
with open('vendas.txt', 'a') as arquivo:
arquivo.write('\nLira,5200')

Exemplo modo 'w':

Python
with open('novas_vendas.txt', 'w') as arquivo:
arquivo.write('Lira,5200')

Quando usar cada modo

  • Use 'r' para ler dados de arquivos existentes, como relatórios ou logs.
  • Use 'a' para adicionar dados sem apagar o conteúdo existente, como registrar novas vendas.
  • Use 'w' para criar arquivos novos ou substituir o conteúdo de um arquivo existente, como gerar um relatório do zero.

Por que evitar abrir arquivos sem with?
Sem with, você precisa abrir e fechar o arquivo manualmente:

Python
arquivo = open('vendas.txt', 'r')

texto = arquivo.read()

arquivo.close() # Necessário fechar manualmente

Se você esquecer o close(), o arquivo pode permanecer aberto, causando:

  • Limites de conexão: Em bancos de dados, pode atingir o limite de conexões abertas.
  • Conflitos de acesso: Outros programas ou códigos não conseguirão editar o arquivo.
  • Desperdício de recursos: Arquivos abertos consomem memória desnecessariamente.

Como adaptar para outros casos?
Além de arquivos, a estrutura with é usada para gerenciar recursos como:

  • Conexões com bancos de dados (ex.: com sqlite3 ou pymysql).
  • Abertura de navegadores em automações (ex.: com selenium).
  • Requisições a sites ou APIs (ex.: com requests).

Boas práticas com with open:

  • Sempre use with open para arquivos, garantindo fechamento automático.
  • Nomeie a variável de forma clara (ex.: arquivo em vez de f) para códigos mais legíveis.
  • Use o modo correto ('r', 'a', 'w') conforme a necessidade.
  • Manipule variáveis derivadas do arquivo (ex.: texto = arquivo.read()) fora do bloco with, mas evite usar a variável arquivo fora do bloco.

Mais algumas funções adicionais

Vamos explorar mais quatro funções poderosas do Python que podem simplificar e tornar seu código ainda mais eficiente: lambda, any, all e f-string.

Cada uma dessas funções tem um propósito específico, desde a criação de funções anônimas rápidas até a formatação de strings de maneira elegante. Compreender como e quando utilizá-las pode melhorar significativamente a legibilidade e a performance do seu código.

Para fazer o download do(s) arquivo(s) utilizados na aula, preencha com o seu e-mail:

Não vamos te encaminhar nenhum tipo de SPAM! A Hashtag Treinamentos é uma empresa preocupada com a proteção de seus dados e realiza o tratamento de acordo com a Lei Geral de Proteção de Dados (Lei n. 13.709/18). Qualquer dúvida, nos contate.

Função lambda

A função lambda permite criar funções anônimas (sem nome) em uma única linha. Ela é útil para operações simples que não requerem uma definição formal com def. Sua sintaxe é:

lambda argumentos: expressão

Exemplo:

Python
dobro = lambda x: x * 2
print(dobro(5))  # Saída: 10




Ela é frequentemente usada com funções como map(), filter() e sorted().

Função any()

A função any() retorna True se pelo menos um elemento de um iterável (lista, tupla, etc.) for avaliado como verdadeiro. Caso contrário, retorna False.

Python
valores = [False, True, False]
print(any(valores))  # Saída: True




Útil para verificar condições em conjuntos de dados.

Função all()

Diferente do any(), all() retorna True apenas se todos os elementos do iterável forem verdadeiros.

Python
valores = [1, 2, 3, 0]
print(all(valores))  # Saída: False (por causa do 0)




Ideal para validações onde todos os valores devem atender a um critério.

f-string

As f-strings (formatted strings) são uma maneira moderna e eficiente de formatar strings no Python (a partir da versão 3.6). Elas permitem incorporar expressões diretamente dentro de strings usando { }.

Python
nome = "Maria"
idade = 30
print(f"{nome} tem {idade} anos.")  # Saída: Maria tem 30 anos.




Elas são mais legíveis e mais rápidas que métodos antigos como % ou .format().

Saiba mais em:

Perguntas frequentes sobre funções do Python

1. O que são funções no Python?

São blocos de código que executam uma tarefa e podem receber parâmetros e retornar valores. O Python já traz funções nativas (como print e len) e permite criar as suas com def, evitando repetir código.

2. Quais são as funções mais usadas do Python?

Entre as nativas mais usadas estão print(), len(), range(), type(), sum(), sorted(), map(), filter(), enumerate(), zip() e open(). Elas resolvem tarefas comuns de exibição, iteração, cálculo e manipulação de dados.

3. Qual a diferença entre função nativa e função criada?

Função nativa (built-in) já vem com o Python e pode ser usada direto, como print(). Função criada é definida por você com def para atender a uma necessidade específica, encapsulando uma lógica própria.

4. Para que serve a função range() no Python?

A range() gera uma sequência de números, muito usada em laços for. Por exemplo, range(5) produz os números de 0 a 4. É possível definir início, fim e passo, controlando exatamente a sequência gerada.

Conclusão – Funções do Python

Dominar essas funções do Python é essencial para qualquer programador que deseja se tornar profissional nessa linguagem.

Elas não apenas facilitam a execução de tarefas comuns, mas também ajudam a escrever códigos mais limpos, eficientes e legíveis.

Aprender a utilizar essas ferramentas ao máximo permitirá que você aproveite todo o potencial que o Python tem a oferecer.

E se você deseja se tornar um profissional ainda mais capacitado e impressionar no mercado de trabalho, conheça nosso curso completo: Python Impressionador.

Caso prefira esse conteúdo no formato de vídeo-aula, assista aos vídeos abaixo ou acesse o nosso canal do YouTube!

O que você aprende neste vídeo

Resposta rápida: Nesta aula, o instrutor ensina 10 funções obrigatórias do Python que todo programador deveria dominar. Entre elas: print (com os parâmetros end e sep), range (gerar sequências), map (aplicar uma função em cada item de uma lista), filter (filtrar itens por condição), zip (juntar duas listas) e open (ler e escrever arquivos). Ele mostra cada uma com exemplos práticos.

Neste vídeo (35 min):

  • 0:00 - As 10 funções que todo programador Python deveria dominar, começando pelo print (end, sep).
  • 8:00 - range: gerar uma sequência de números.
  • 12:00 - map: aplicar uma função em cada item de uma lista.
  • 16:00 - filter: filtrar os itens de uma lista por uma condição.
  • 20:00 - zip: juntar duas listas (ex.: funcionários e salários) num dicionário.
  • 32:00 - open: ler e escrever arquivos (o modo de adicionar em vez de substituir).

Hashtag Treinamentos

Para acessar outras publicações de Python, clique aqui!


Quer aprender mais sobre Python com um minicurso básico gratuito?

Posts mais recentes de Python

Posts mais recentes da Hashtag Treinamentos