Maison >développement back-end >Tutoriel Python >Python `return`, `return None` et No `return` : quelles sont les principales différences ?

Python `return`, `return None` et No `return` : quelles sont les principales différences ?

Patricia Arquette
Patricia Arquetteoriginal
2024-12-17 17:33:131026parcourir

Python `return`, `return None`, and No `return`: What are the Key Differences?

Return, Return None et No Return en Python : quelle est la différence ?

Considérez les fonctions suivantes :

def my_func1():
    print("Hello World")
    return None

def my_func2():
    print("Hello World")
    return

def my_func3():
    print("Hello World")

Bien qu'ils semblent tous renvoyer Aucun, il existe des différences subtiles dans leur comportement.

Différences de comportement

Lorsque ces fonctions sont exécutées :

  • my_func1() : Imprime "Bonjour World" et renvoie explicitement Aucun.
  • my_func2() : Imprime « Hello World » et renvoie implicitement Aucun (le comportement par défaut des fonctions).
  • my_func3() : Imprime "Hello World" et ne renvoie rien (pas même Aucun).

Considérations d'utilisation

Retour Aucun

  • Utiliser pour les fonctions destinées à renvoie une valeur, même si elle est Aucune.
  • La valeur renvoyée peut être utilisée ou ignorée ultérieurement dans le code.
  • Évitez de renvoyer Aucun s'il n'y a pas de valeurs de retour alternatives.

Retour

  • Utiliser pour quitter explicitement une fonction , similaire aux instructions break dans les boucles.
  • La valeur de retour n'est pas pertinente et ne doit pas être utilisé.
  • Utile lorsque vous souhaitez uniquement quitter la fonction sans renvoyer de valeur spécifique.

Aucun retour

  • Utiliser pour les fonctions qui n'ont pas besoin de renvoyer de valeur ou qui indiquent simplement une exécution réussie.
  • Comme le retour, la valeur renvoyée n'est pas destinée à être utilisée ou capturé.
  • Similaire aux fonctions void dans d'autres langages comme C et Java.

Exemples

Obtenir le nom d'une mère ( Retour Aucun) :

def get_mother(person):
    if is_human(person):
        return person.mother
    else:
        return None

Trouver un prisonnier avec un couteau (Retour) :

def find_prisoner_with_knife(prisoners):
    for prisoner in prisoners:
        if "knife" in prisoner.items:
            prisoner.move_to_inquisition()
            return # No need to check the other prisoners.
    raise_alert()

Définir le nom d'une mère (Pas de retour) :

def set_mother(person, mother):
    if is_human(person):
        person.mother = mother

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn