Funções Python (def): definição com exemplos

Neste artigo, você aprenderá sobre funções, o que é uma função, a sintaxe, componentes e tipos de funções. Além disso, você aprenderá a criar uma função em Python.

Vídeo: Introdução às funções Python

O que é uma função em Python?

Em Python, uma função é um grupo de instruções relacionadas que executa uma tarefa específica.

As funções ajudam a quebrar nosso programa em pedaços menores e modulares. Conforme nosso programa fica cada vez maior, as funções o tornam mais organizado e gerenciável.

Além disso, evita a repetição e torna o código reutilizável.

Sintaxe de função

 def function_name (parâmetros): declaração (ões) "" "docstring" ""

Acima é mostrada uma definição de função que consiste nos seguintes componentes.

  1. Palavra-chave defque marca o início do cabeçalho da função.
  2. Um nome de função para identificar exclusivamente a função. A nomenclatura de funções segue as mesmas regras de escrita de identificadores em Python.
  3. Parâmetros (argumentos) pelos quais passamos valores para uma função. Eles são opcionais.
  4. Dois pontos (:) para marcar o final do cabeçalho da função.
  5. String de documentação opcional (docstring) para descrever o que a função faz.
  6. Uma ou mais instruções Python válidas que constituem o corpo da função. As declarações devem ter o mesmo nível de recuo (geralmente 4 espaços).
  7. Uma returninstrução opcional para retornar um valor da função.

Exemplo de função

 def greet(name): """ This function greets to the person passed in as a parameter """ print("Hello, " + name + ". Good morning!")

Como chamar uma função em python?

Depois de definir uma função, podemos chamá-la de outra função, programa ou mesmo do prompt do Python. Para chamar uma função, simplesmente digitamos o nome da função com os parâmetros apropriados.

 >>> greet('Paul') Hello, Paul. Good morning!

Observação: tente executar o código acima no programa Python com a definição da função para ver a saída.

 def greet(name): """ This function greets to the person passed in as a parameter """ print("Hello, " + name + ". Good morning!") greet('Paul')

Docstrings

A primeira string após o cabeçalho da função é chamada de docstring e é a abreviação de string de documentação. É usado resumidamente para explicar o que uma função faz.

Embora opcional, a documentação é uma boa prática de programação. A menos que você se lembre do que jantou na semana passada, sempre documente seu código.

No exemplo acima, temos uma docstring imediatamente abaixo do cabeçalho da função. Geralmente usamos aspas triplas para que docstring possa se estender a várias linhas. Essa string está disponível para nós como o __doc__atributo da função.

Por exemplo :

Tente executar o seguinte no shell Python para ver a saída.

 >>> print(greet.__doc__) This function greets to the person passed in as a parameter

Para saber mais sobre docstrings em Python, visite Python Docstrings.

A declaração de retorno

A returninstrução é usada para sair de uma função e voltar ao local de onde foi chamada.

Sintaxe de retorno

 return (expression_list)

Esta instrução pode conter uma expressão que é avaliada e o valor é retornado. Se não houver expressão na instrução ou se a returnprópria instrução não estiver presente dentro de uma função, a função retornará o Noneobjeto.

Por exemplo:

 >>> print(greet("May")) Hello, May. Good morning! None

Aqui, Noneé o valor retornado, já que greet()imprime diretamente o nome e nenhuma returninstrução é usada.

Exemplo de retorno

 def absolute_value(num): """This function returns the absolute value of the entered number""" if num>= 0: return num else: return -num print(absolute_value(2)) print(absolute_value(-4))

Resultado

 2 4

Como funciona a função em Python?

Trabalho de funções em Python

Escopo e tempo de vida das variáveis

O escopo de uma variável é a parte de um programa onde a variável é reconhecida. Parâmetros e variáveis ​​definidos dentro de uma função não são visíveis de fora da função. Portanto, eles têm um escopo local.

O tempo de vida de uma variável é o período durante o qual a variável sai da memória. O tempo de vida das variáveis ​​dentro de uma função é enquanto a função é executada.

Eles são destruídos assim que retornamos da função. Conseqüentemente, uma função não lembra o valor de uma variável de suas chamadas anteriores.

Aqui está um exemplo para ilustrar o escopo de uma variável dentro de uma função.

 def my_func(): x = 10 print("Value inside function:",x) x = 20 my_func() print("Value outside function:",x)

Resultado

 Value inside function: 10 Value outside function: 20

Here, we can see that the value of x is 20 initially. Even though the function my_func() changed the value of x to 10, it did not affect the value outside the function.

This is because the variable x inside the function is different (local to the function) from the one outside. Although they have the same names, they are two different variables with different scopes.

On the other hand, variables outside of the function are visible from inside. They have a global scope.

We can read these values from inside the function but cannot change (write) them. In order to modify the value of variables outside the function, they must be declared as global variables using the keyword global.

Types of Functions

Basically, we can divide functions into the following two types:

  1. Funções integradas - funções integradas ao Python.
  2. Funções definidas pelo usuário - Funções definidas pelos próprios usuários.

Artigos interessantes...