Aula 3 - Introdução às funções em Python

Aula 3 - Introdução às funções em Python

O que são funções, e como escrevê-las em Python

Até agora, foram apresentadas de forma teórica e prática alguns dos principais elementos do Python: operações, tipos de dados, sequências, e dicionários. Nessa aula, será feita uma introdução às funções na linguagem Python.

Então, o que será visto aqui:

  • O que são funções, e para que servem;
  • Como escrevê-las em Python.

O que são funções?

Em várias linguagens de programação, funções são recursos que muito auxiliam na hora de meter a mão na massa; elas são blocos de código que performam tarefas que, normalmente, precisam ser executadas mais de uma vez dentro de uma aplicação. Assim, um algoritmo ou notebook fica menor, mais rápido de executar e, sobretudo, mais legível a outros usuários.

As funções também servem para a criação de bibliotecas em Python. No contexto de análise de dados, há bibliotecas que possuem funções prontas para calcular medidas de variância, de dispersão, tendência central, similaridade, entre outros (citam-se aqui exemplos que podem ser encontrados no cookbook da biblioteca SciPy, além da documentação do NumPy); além disso, para ecólogos, haverá funções que executam os principais cálculos necessários para mensurar diversidade, abundância, dominância, e tantas outras operações mais as quais os profissionais precisam lançar mão. Nesse caso em específico, a documentação da biblioteca EcoPy proporciona um leque de cálculos ecológicos, sendo cada um deles descrito em detalhes, para entendimento dos parâmetros e comandos usados.

Como criar funções no Python

Uma função em Python é definida por três partes: nome, parâmetros, e corpo (ou comandos). Nós podemos definir uma função usando essa sintaxe:

def nome( parâmetros ):
    comandos

Aqui vemos que a definição de uma função é feita usando a palavra-chave def. Você pode colocar qualquer nome para as funções que está criando, ao colocá-lo na posição nome; no entanto, você não pode usar um nome que é considerado palavra reservada. Os parâmetros vão especificar qual informação, caso haja alguma, é preciso providenciar para que a função seja usada. Em outra palavras, os parâmetros dizem o que a função precisa para executar tarefas. Observe também a presença dos dois pontos (:); isso indica que o código que está nas linhas seguidas a ele faz parte da função que será criada. As linhas seguintes aparecerão avançadas em relação à primeira linha; isso é o que chamamos de indentação, e é uma forma de respeito à sintaxe da linguagem que estamos usando.

Para podemos executar a função, devemos simplesmente chamar o seu nome e passar os parâmetros. A lista de parâmetros pode ser vazia, ter apenas um parâmetro, ou ter mais de um parâmetro, sempre separados por vírgulas. Independente disso, os parênteses são obrigatórios no momento de definir uma função.

Vamos a um breve exemplo prático, para entender melhor:

Python:

def add_func(a, b):
    resultado = a + b
    return resultado
z = add_func(10, 12)
print(z)

Neste bloco de código, estamos fazendo duas coisas: definir uma função e criar uma variável chamando essa função. O nome dessa função é add_func, que possui dois parâmetros, ae b. Dentro da função há dois comandos: resultadoe o return resultado; isso quer dizer que, no caso dessa função, se solicitará a soma dos dois parâmetros já citados (a + b) e, para expressar essa soma, a função dará um retorno (return) com o resultado.

A variável z possuirá como valor o resultado do uso da função add_func, tendo como parâmetros os números 10 e 12. Uma vez criada, podemos verificar qual será o valor da variável z, usando a função print(z). O resultado sairá conforme está no output abaixo:

Output:

22

O assunto referente às funções pode se estender bem mais, uma vez que funções podem comportar mais de um parâmetro ou comando, mas não nos ateremos muito a isso. O objetivo aqui é entender como se faz uma função, para que, mais à frente, consigamos entender melhor como trabalhar com as bibliotecas Python que serão apresentadas na série.

Com isso, já temos um arcabouço de como o Python funciona, com seus elementos principais e funções. Nas próximas aulas, começará a parte de mexer com dados; é justamente aí que o Python fica bem mais interessante.

Aproveite para dar seu feedback, e nos vemos nas próximos posts da série!

Para ler mais:

Literatura recomendada:

  • Capítulo 8 do Curso Intensivo de Python, de Eric Matthes (Library Genesis)
  • Capítulo 2 do Data Science do Zero, de Joel Grus (Library Genesis)
  • Capítulos 3 e 4 do Learn to Program with Python 3, de Irv Kalb (Library Genesis)
  • Capítulo 3 do Basic Core Python Programming, de Meenu Kohli (Library Genesis)