Python Tutorial - Função

Jinku Hu 30 janeiro 2023
  1. O que é a função Python?
  2. Como definir uma função Python
  3. Exemplo de Função Python
  4. Chamar uma função em Python
  5. A instrução return
  6. Escopo e Tempo de Vida das Variáveis Python
  7. Tipos de Funções
Python Tutorial - Função

Nesta seção, você vai aprender

  • O que é uma função
  • Como criar uma função
  • Tipos de funções

O que é a função Python?

Uma função é um pequeno bloco de um programa que contém um número de instruções para executar uma tarefa específica. Quando você tem um programa com milhares de linhas executando tarefas diferentes, então você deve dividir o programa em pequenos módulos (blocos), o que aumenta a legibilidade e diminui a complexidade.

Como definir uma função Python

A seguir está a sintaxe para definir uma função:

def functionName(arguments):
    """This is the definition of this function"""
    statements
    return returnParam
  1. A palavra-chave def é utilizada para definir uma função.
  2. functionName é o nome da função.
  3. arguments são opcionais. Argumentos fornecem valores para a função para realizar operações.
  4. Cólon (:) termina o cabeçalho da função.
  5. """This is the definition of this function""" é um docstring e é opcional que descreve o que a função faz.
  6. statements refere-se ao corpo da função.
  7. A instrução return opcionalmente retorna o resultado para o autor da chamada.

Exemplo de Função Python

def language(p):
    """Function to print a message"""
    print("Programming language:", p)

Aqui é definida uma função língua que tem um argumento p passando do chamador. Dentro da função, há uma instrução docstring e uma instrução print para imprimir a mensagem contendo o argumento p.

Chamar uma função em Python

Uma função pode ser chamada de qualquer parte do programa. Uma função pode ser chamada pelo seu nome com os parâmetros necessários.

language("Python")
Programming language: Python

A instrução return

A instrução return transfere o controle de volta para os códigos onde a função é chamada.
Ele indica o final da definição da função.

A sintaxe do return é a seguinte:

return [values_to_be_returned]

Se não houver nenhuma instrução return em uma função, um objeto None será retornado.

Exemplo de utilização do comando return

def square(n):
    return n * n


print("Square of 4=", square(4))
Square of 4=16

Neste código, a função é chamada em uma função print e 4 é passada como um argumento. Dentro da função, você tem uma expressão n*n que é avaliada e o resultado é retornado para onde a função é chamada (instrução print).

Escopo e Tempo de Vida das Variáveis Python

O escopo de uma variável é onde uma variável pode ser acessada. Quando uma variável é declarada dentro de uma função, ela não é acessível para o exterior dessa função. Este tipo de variável é chamado de variável local e é acessado somente para a função onde ela é declarada.

O tempo de vida de uma variável é o tempo durante o qual uma variável existe na memória. Quando uma variável é declarada dentro de uma função, a memória da mesma será liberada quando o controle saltar para fora da função.

Veja o exemplo abaixo:

def fun():
    a = 12
    print("Value of a inside function:", a)


a = 24
fun()
print("Value of a outside function:", a)
Value of a inside function: 12
Value of a outside function: 24

Neste código, a variável a dentro da função e a variável a fora da função são variáveis diferentes.

Se você tentar acessar variáveis declaradas dentro de funções de fora, você vai encontrar um erro - NameError name 'x' is not defined. Mas as variáveis declaradas fora das funções têm um escopo global e podem ser acessadas de dentro para fora.

Tipos de Funções

As funções em Python podem ser categorizadas em dois tipos:

  1. Funções em Python: têm um significado predefinido e executam tarefas específicas.
  2. Funções definidas pelo usuário: são definidas pelo usuário contendo qualquer número de comandos para executar tarefas definidas pelo usuário.
Autor: Jinku Hu
Jinku Hu avatar Jinku Hu avatar

Founder of DelftStack.com. Jinku has worked in the robotics and automotive industries for over 8 years. He sharpened his coding skills when he needed to do the automatic testing, data collection from remote servers and report creation from the endurance test. He is from an electrical/electronics engineering background but has expanded his interest to embedded electronics, embedded programming and front-/back-end programming.

LinkedIn Facebook