A instrução return do python é usada para retornar valores da função. Podemos usar a instrução return apenas numa função. Ela não pode ser usada fora de uma função Python.
Função Python sem instrução return
Toda função em Python retorna algo. Se a função não tiver nenhuma instrução return, então ela retorna None
.
def print_something(s):
print('Printing::', s)
output = print_something('Hi')
print(f'A function without return statement returns {output}')
Saída:

Exemplo de Instrução Return em Python
Podemos realizar alguma operação numa função e retornar o resultado ao chamador usando a instrução return.
def add(x, y):
result = x + y
return result
output = add(5, 4)
print(f'Output of add(5, 4) function is {output}')
Saída:

Instrução return do Python com expressão
Também podemos ter expressões na instrução return. Nesse caso, a expressão é avaliada e o resultado é retornado.
def add(x, y):
return x + y
output = add(5, 4)
print(f'Output of add(5, 4) function is {output}')
Saída:

Python retornar booleano
Vamos ver um exemplo onde iremos retornar o valor booleano do argumento de uma função. Vamos usar a função bool() para obter o valor booleano do objeto.
def bool_value(x):
return bool(x)
print(f'Boolean value returned by bool_value(False) is {bool_value(False)}')
print(f'Boolean value returned by bool_value(True) is {bool_value(True)}')
print(f'Boolean value returned by bool_value("Python") is {bool_value("Python")}')
Saída:

Python retornar string
Vamos ver um exemplo onde nossa função irá retornar a representação em string do argumento. Podemos usar a função str() para obter a representação em string de um objeto.
def str_value(s):
return str(s)
print(f'String value returned by str_value(False) is {str_value(False)}')
print(f'String value returned by str_value(True) is {str_value(True)}')
print(f'String value returned by str_value(10) is {str_value(10)}')
Saída:

Python retornar tupla
Às vezes, queremos converter um número de variáveis em uma tupla. Vamos ver como escrever uma função para retornar uma tupla a partir de um número variável de argumentos.
def create_tuple(*args):
my_list = []
for arg in args:
my_list.append(arg * 10)
return tuple(my_list)
t = create_tuple(1, 2, 3)
print(f'Tuple returned by create_tuple(1,2,3) is {t}')
Saída:

Leitura Adicional: Python *args e **kwargs
Função Python que retorna outra função
Também podemos retornar uma função a partir da instrução de retorno. Isso é semelhante ao Currying, que é a técnica de traduzir a avaliação de uma função que recebe múltiplos argumentos em avaliar uma sequência de funções, cada uma com um único argumento.
def get_cuboid_volume(h):
def volume(l, b):
return l * b * h
return volume
volume_height_10 = get_cuboid_volume(10)
cuboid_volume = volume_height_10(5, 4)
print(f'Cuboid(5, 4, 10) volume is {cuboid_volume}')
cuboid_volume = volume_height_10(2, 4)
print(f'Cuboid(2, 4, 10) volume is {cuboid_volume}')
Saída:

Função Python retornando função externa
Também podemos retornar uma função que é definida fora da função com a instrução de retorno.
def outer(x):
return x * 10
def my_func():
return outer
output_function = my_func()
print(type(output_function))
output = output_function(5)
print(f'Output is {output}')
Saída:

Python retornando múltiplos valores
Se você deseja retornar múltiplos valores de uma função, pode retornar um objeto do tipo tupla, lista ou dicionário conforme sua necessidade. No entanto, se você precisa retornar um grande número de valores, então o uso de sequência consome muitos recursos. Neste caso, podemos usar yield, para retornar múltiplos valores um por um.
def multiply_by_five(*args):
for arg in args:
yield arg * 5
a = multiply_by_five(4, 5, 6, 8)
print(a)
# mostrando os valores
for i in a:
print(i)
Resultado:

Resumo
O comando return em python é usado para retornar a saída de uma função. Aprendemos que também podemos retornar uma função de outra função. Além disso, as expressões são avaliadas e o resultado é então retornado pela função.
Você pode verificar o script python completo e mais exemplos de Python em nosso Repositório GitHub.
Source:
https://www.digitalocean.com/community/tutorials/python-return-statement