Maison >développement back-end >Tutoriel Python >Pourquoi print(lyrics()) renvoie-t-il « Aucun » même si la fonction « lyrics() » imprime « La toute première ligne » ?
Pourquoi la sortie « Aucun » ? Démêler les deux instructions d'impression
Un problème particulier survient lors de l'utilisation de la fonction suivante :
def lyrics(): print("The very first line") print(lyrics())
Au lieu de l'attendu "La toute première ligne", la sortie renvoie de manière déconcertante "La toute première ligne" suivie de "Aucun".
Dévoiler le caché Vérités
Le coupable derrière ce comportement déroutant réside dans la présence de deux déclarations imprimées. Dans la fonction paroles, la première instruction est chargée d’afficher « La toute première ligne ». Cependant, la fonction ne renvoie pas explicitement de valeur, ce qui signifie que Python lui attribue la valeur par défaut None.
La deuxième instruction print en dehors de la fonction tente ensuite d'afficher la valeur renvoyée par lyrics(). Puisque la fonction renvoie effectivement Aucun, elle imprime « Aucun » sur le terminal.
Résoudre le problème : adopter la déclaration de retour
Pour remédier à cette situation et garantir l'obtention du résultat souhaité sortie, modifiez la fonction lyrics pour renvoyer explicitement une valeur. En ajoutant une instruction return, vous pouvez dicter la valeur produite par la fonction.
Par exemple, considérons le code suivant :
def lyrics(): print("The very first line") return None print(lyrics())
Maintenant, le code affichera correctement "Le tout premier line", car l'instruction return dans la fonction lyrics renvoie explicitement None.
Comprendre le retour Par défaut
Il convient de noter que si vous omettez l'instruction return dans une fonction, Python renvoie automatiquement None. Bien qu'il ne soit pas explicitement indiqué dans le code, ce comportement est crucial pour comprendre pourquoi les fonctions qui ne spécifient pas explicitement une valeur de retour affichent toujours Aucune.
Exemples supplémentaires
Pour en savoir plus Pour clarifier, considérez l'extrait de code suivant :
def test1(): print("In function.") a = test1() print(a) # Prints None print(test1()) # Prints "In function." and then None test1() # Prints "In function." and returns None (not printed)
Dans cet exemple, test1() renvoie implicitement None en raison de l'absence d'instruction return. Par conséquent, les instructions print suivantes se comportent comme mentionné précédemment.
Pour garantir une valeur de retour spécifique, utilisez l'instruction return avec la valeur souhaitée. Par exemple :
def test(): return "ACV" print(test()) # Prints "ACV" a = test() print(a) # Prints "ACV"
En renvoyant explicitement « ACV » dans la fonction test(), la sortie affiche correctement la valeur souhaitée.
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!