Quitter une fonction en Python

  1. Type de retour implicite en Python
  2. Type de retour explicite en Python

Chaque programme a un certain flux d’exécution. Un flux n’est rien d’autre que la manière dont le programme est exécuté. L’instruction return est utilisée pour quitter la fonction de Python, qui peut être utilisée dans de nombreux cas différents à l’intérieur du programme. Mais les deux façons les plus courantes d’utiliser cette déclaration sont ci-dessous.

  1. Lorsque nous voulons renvoyer une valeur à partir d’une fonction après sa sortie ou son exécution. Et nous utiliserons la valeur plus tard dans le programme.
def add(a, b):
   return a+b

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

Production:

3

Ici, il retourne la valeur calculée par a+b puis stocke cette valeur qui est 3, à l’intérieur de la variable value.

  1. Lorsque nous voulons arrêter l’exécution de la fonction à un moment donné.
def add(a, b):
    
    if(a == 0):
        return
    elif(b == 0):
        return
    else:
        sum = a + b
        return sum

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

Production:

None

Ici, si les valeurs de a ou b sont 0, il retournera directement sans calculer la somme des nombres. S’ils ne sont pas 0 alors seulement il calculera et retournera la sum.

Maintenant, si vous implémentez cette instruction dans votre programme, alors selon l’endroit où vous l’avez ajoutée dans votre programme, l’exécution du programme changera. Voyons voir comment ça fonctionne.

Type de retour implicite en Python

Supposons que nous ayons une fonction à l’intérieur de laquelle nous avons écrit en utilisant une instruction if, alors voyons comment le programme se comporte.

def solution():
    name = "john"
    
    if(name == "john"):
        print('My name ',name)

solution()

Production:

My name john

La fonction solution() ne prend aucun argument. À l’intérieur, nous avons une variable appelée name, puis vérifions que sa valeur correspond à la chaîne john en utilisant l’instruction if. Si elle correspond, nous imprimons la valeur de la variable name puis sortons de la fonction; sinon, si la chaîne ne correspond pas, nous la quitterons simplement sans rien faire.

Ici, vous pourriez penser que puisqu’il n’y a pas d’instruction return écrite dans le code, il n’y a pas d’instruction return présente. Notez que l’instruction return n’est pas obligatoire à écrire. Chaque fois que vous quittez une fonction Python, elle appelle return avec la valeur None uniquement si vous n’avez pas spécifié l’instruction return. La valeur None signifie que la fonction a terminé son exécution et ne renvoie rien. Si vous avez spécifié l’instruction return sans aucun paramètre, c’est aussi la même chose que return None. Si vous ne spécifiez aucun type de retour dans une fonction, alors cette fonction appellera une instruction return. Il est appelé un type de retour implicite en Python.

Type de retour explicite en Python

Chaque fois que vous ajoutez une instruction return explicitement par vous-même dans le code, le type de retour est appelé un type de retour explicite. Il y a de nombreux avantages à avoir un type de retour explicite, comme vous pouvez passer une valeur calculée par une fonction et la stocker dans une variable pour une utilisation ultérieure ou arrêter l’exécution de la fonction en fonction de certaines conditions à l’aide d’une instruction return etc. Voyons un exemple du type explicite en 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))

Production:

0

Ceci est un programme pour trouver des nombres de Fibonacci. Remarquez comment le code est renvoyé à l’aide d’une instruction return explicite. Ici, l’essentiel à noter est que nous retournerons directement une valeur si le nombre passé à cette fonction est 2 ou inférieur à 2 et quitterons la fonction en ignorant le code écrit en dessous. Nous n’exécuterons notre code principal (présent à l’intérieur du bloc else) que lorsque la valeur passée à cette fonction est supérieure à 2.

Article connexe - Python Function

  • Passer par référence en Python
  • Appeler une fonction à partir d'un nom de chaîne en Python