Tudo que você precisa saber para começar a utilizar funções em Python

Samuel Almeida
Nov 3 · 4 min read

Você executa algum bloco de comando mais que uma vez dentro da sua aplicação? Pois veja, esse é o momento de introduzir funções dentro de seu desenvolvimento em Python.

Para que você não precise copiar o código todas as vezes que necessite executar uma determinada operação, o ideal é agrupar as instruções em uma função, à qual é dado um nome e pode ser executada em diferentes partes do algoritmo, assim deixando a leitura do código muito mais intuitiva.

Função em Python é uma forma de escrever a sua lógica e utilizá-la em diferentes lugares no seu código, sendo possível inseri-la quantas vezes for necessário. Vamos verificar sua sintaxe:

Sintaxe da função def.

Uma função é definida por def, conforme linha 1, em seguida é informado o nome que deseja para utiliza-la futuramente, junto dos argumentos entre parenteses. Na linha 2 recomenda-se adicionar comentários para documentação, utilizando três apóstrofos seguidos. Após isto, na linha 3 é informado os comandos a serem realizados, ressaltando a importância da indentação, que seria o espaço ao inicio onde é aplicado as instruções. Na última possuímos o retorno desejado pela função.

HANDS ON!

Para uma melhor compreensão, vamos definir que necessitamos juntar duas palavras várias vezes durante a construção de um algoritmo, com essas informações identificamos que é mais produtivo criar uma função, utilizando estes quesitos criamos o código abaixo:

Primeiro exemplo de função def.

Na primeira linha definimos o nome da função como “juntar”, e incluímos dois argumentos como “parte1” e “parte2”. Na linha abaixo desenvolvemos o retorno, somando as duas informações. Também já fizemos um teste, criamos a variável frase e nela utilizamos a função, passando os argumentos “Função” e “Python”, então recebemos o output “Função Python”. Realmente funcionou hein! Mas gora vamos aplicar em um caso mais real, digamos que é necessário definir o calculo de todos funcionários de uma empresa, para isso criei o seguinte algoritmo:

Segundo exemplo de função def.

Conforme vimos anteriormente, definimos o nome e os argumentos necessários na primeira linha. Na segunda adicionamos um comentário para uma melhor compreensão do código. Entre as linhas três e seis definimos os comandos para calcular o salário. Mas caso possua um colaborador que tenha realizado horas extras? Pois bem, já prevemos isso na nossa função, entre as linhas sete e nove realizamos a equação das horas extras, e também já solicitando retorno na linha dez. Abaixo vamos ver o retorno da função com exemplos:

Resultado da função calculo_salario

Na variável resultado, suponhamos que o colaborador trabalhou 40 horas e recebe R$ 20,50 por hora, a função já nos retornou com o salário recebido por ele. No segundo resultado este colaborador que trabalhou durante suas 40 horas e ainda realizou mais 10 horas extras, totalizando 50, como possuímos essa possibilidade em nossa função, já foi calculado gerando o resultado correto.


Função lambda

Uma das vantagens da linguagem Python é um amplo conjunto em estruturas de dados disponíveis ao desenvolvedor, e é muito importante o conhecimento das técnicas de desenvolvimento, hoje muitos profissionais deixam de utilizar a função lambda pelo simples fato de não entenderem como funciona exatamente. Essa expressão permite digitar funções sem nome, em apenas uma linha de comando, gerando um código mais limpo e mais efetivo. Para um melhor entendimento, vamos dar uma olhada em sua sintaxe:

Sintaxe da função lambda.

A palavra reservada lambda define a função, esta é seguida de seu primeiro argumento, onde é definido seu parâmetro de entrada, o segundo argumento seria os comandos da função, note que o código ocupa somente uma linha.

HANDS ON!

Suponhamos que foi identificado em nosso algoritmo a necessidade de criar uma função para somar dois números, ou seja realizar uma operação de adição, então vamos aplicar lambda, acompanhe abaixo:

Criamos a variável “addNum” para realizar o cálculo, dentro desta atribuímos o termo lambda e passamos dois parâmetros - sendo eles x e y - para depois nos retornar x+y. Note que o código está inline, ou seja escrito somente em uma linha.

Verificando a diferença de uma função def para uma função lambda

A diferença entre as duas palavras reservadas é muito mais fácil do que aparenta, a def cria um objeto e atribui um nome a ele, onde lambda também cria o mesmo, porém o retorna como um resultado em tempo de execução.

Comparando os códigos

Repare como a lambda nos proporciona flexibilidade, facilidade, legibilidade, menos linhas de código, entre outras vantagens. É o ideal para todas as situações? Com certeza não, sempre irá depender do nosso objetivo.


Como identificar a palavra reservada adequada

Agora vem a parte mais complicada deste assunto, em qual momento devo usar def e quando é possível utilizar lambda? É difícil sim, mas não é nenhum bicho de sete cabeças. O lambda é utilizado quando ao entendimento do desenvolvedor, irá simplificar e otimizar seu algoritmo, talvez o modo em que seja mais usado seja em funções que servem de parâmetros para outra função, pois fica claro a simplificação do código, por exemplo. Com certeza com um bom entendimento destes aspectos, você conseguirá desenvolver um bom trabalho colocando em prática algoritmos mais limpos, claros e ganhando produtividade.


Espero que você tenha compreendido o uso das funções, em breve postarei mais conteúdo a respeito deste assunto, com mais exemplos e HANDS ON! para práticas.

Grande abraço e até a próxima!

Welcome to a place where words matter. On Medium, smart voices and original ideas take center stage - with no ads in sight. Watch
Follow all the topics you care about, and we’ll deliver the best stories for you to your homepage and inbox. Explore
Get unlimited access to the best stories on Medium — and support writers while you’re at it. Just $5/month. Upgrade