Sair de uma função em Python

Sahil Bhosale 30 janeiro 2023
  1. Tipo de retorno implícito em Python
  2. Tipo de retorno explícito em Python
Sair de uma função em Python

Todo programa tem algum fluxo de execução. Um fluxo nada mais é do que como o programa é executado. A instrução return é usada para sair da função Python, que pode ser usada em muitos casos diferentes dentro do programa. Mas as duas maneiras mais comuns de usarmos essa declaração estão abaixo.

  1. Quando queremos retornar um valor de uma função após sua saída ou execução. E usaremos o valor posteriormente no programa.
def add(a, b):
    return a + b


value = add(1, 2)
print(value)

Resultado:

3

Aqui, ele retorna o valor calculado por a+b e, em seguida, armazena aquele valor que é 3, dentro da variável value.

  1. Quando queremos parar a execução da função em um determinado momento.
def add(a, b):

    if a == 0:
        return
    elif b == 0:
        return
    else:
        sum = a + b
        return sum


value = add(0, 2)
print(value)

Resultado:

None

Aqui, se os valores de a ou b forem 0, ele retornará diretamente sem calcular a soma dos números. Se não forem 0, apenas calculará e retornará a sum.

Agora, se você implementar essa instrução em seu programa, dependendo de onde você adicionou essa instrução em seu programa, a execução do programa mudará. Vamos ver como isso funciona.

Tipo de retorno implícito em Python

Suponha que temos uma função dentro da qual escrevemos usando uma instrução if, então vamos ver como o programa se comporta.

def solution():
    name = "john"

    if name == "john":
        print("My name ", name)


solution()

Resultado:

My name john

A função solution() não aceita argumentos. Dentro dele, temos uma variável chamada name e, em seguida, verificamos se seu valor corresponde à string john usando a instrução if. Se corresponder, imprimimos o valor da variável name e depois saímos da função; caso contrário, se a string não corresponder, simplesmente sairemos dela sem fazer nada.

Aqui, você pode pensar que, uma vez que não há nenhuma instrução return escrita no código, não há nenhuma instrução return presente. Observe que a declaração de retorno não é obrigatória para escrever. Sempre que você sai de qualquer função Python, ela chama return com o valor None apenas se você não tiver especificado a instrução return. O valor None significa que a função concluiu sua execução e não está retornando nada. Se você especificou a instrução return sem nenhum parâmetro, também é o mesmo que return None. Se você não especificar nenhum tipo de retorno dentro de uma função, essa função chamará uma instrução return. É chamado de tipo de retorno implícito em Python.

Tipo de retorno explícito em Python

Sempre que você adiciona uma instrução return explicitamente por você mesmo dentro do código, o tipo de retorno é chamado de tipo de retorno explícito. Existem muitas vantagens em ter um tipo de retorno explícito, como você pode passar um valor calculado por uma função e armazená-lo dentro de uma variável para uso posterior ou parar a execução da função com base em algumas condições com a ajuda de uma instrução return e assim por diante. Vamos ver um exemplo do tipo explícito em Python.

def Fibonacci(n):

    if n < 0:
        print("Fibo of negative num does not exist")
    elif n == 0:
        return 0
    elif n == 1 or n == 2:
        return 1
    else:
        return Fibonacci(n - 1) + Fibonacci(n - 2)


print(Fibonacci(0))

Resultado:

0

Este é um programa para encontrar números de Fibonacci. Observe como o código é retornado com a ajuda de uma instrução return explícita. Aqui, o principal a observar é que retornaremos diretamente algum valor se o número passado para esta função for 2 ou menor que 2 e sairemos da função ignorando o código escrito abaixo disso. Só executaremos nosso código principal (presente dentro do bloco else) somente quando o valor passado para esta função for maior que 2.

Sahil Bhosale avatar Sahil Bhosale avatar

Sahil is a full-stack developer who loves to build software. He likes to share his knowledge by writing technical articles and helping clients by working with them as freelance software engineer and technical writer on Upwork.

LinkedIn

Artigo relacionado - Python Function