Toate funcțiile returnează o valoare atunci când sunt apelate.

Dacă o instrucțiune de returnare este urmată de o listă de expresii, acea listă de expresii este evaluată și valoarea este returnată:

>>> def greater_than_1(n):
...     return n > 1
...
>>> print(greater_than_1(1))
False
>>> print(greater_than_1(2))
True

Dacă nu este specificată nicio listă de expresii, None este returnat:

>>> def no_expression_list():
...     return    # No return expression list.
...
>>> print(no_expression_list())
None

Dacă se ajunge la o instrucțiune return în timpul executării unei funcții, apelul funcției curente este lăsat în acel moment:

>>> def return_middle():
...     a = 1
...     return a
...     a = 2     # This assignment is never reached.
...
>>> print(return_middle())
1

Dacă nu există nicio instrucțiune return, funcția returnează None când ajunge la final:

>>> def no_return():
...     pass     # No return statement.
...
>>> print(no_return())
None
 

O singură funcție poate avea multiple return declarații. Executarea funcției se încheie când una dintre acestea return se ajunge la declarații:

ad-banner
 >>> def multiple_returns(n):
 ...    if(n):
 ...        return "First Return Statement"
 ...    else:
 ...        return "Second Return Statement"
 ...
 >>> print(multiple_returns(True))
 First Return Statement
 >>> print(multiple_returns(False))
 Second Return Statement
 

O singură funcție poate returna diferite tipuri:

 >>> def various_return_types(n):
 ...     if(n==1):
 ...         return "Hello World."   # Return a string
 ...     elif(n==2):
 ...         return 42               # Return a value
 ...     else:
 ...         return True             # Return a boolean
 ... 
 >>> print(various_return_types(1))
 Hello World.
 >>> print(various_return_types(2))
 42
 >>> print(various_return_types(3))
 True

Este chiar posibil ca o singură funcție să returneze mai multe valori cu o singură returnare:

 >>> def return_two_values():
 ...     a = 40
 ...     b = 2
 ...     return a,b
 ...
 >>> print("First value = %d,  Second value = %d" %(return_two_values()))
 First value = 40,  Second value = 2

A se vedea Python Docs pentru mai multe informatii.