Maison > développement back-end > Tutoriel Python > Pourquoi ma fonction Python renvoie-t-elle « Aucun » au lieu du résultat attendu ?

Pourquoi ma fonction Python renvoie-t-elle « Aucun » au lieu du résultat attendu ?

DDD
Libérer: 2024-11-28 11:00:10
original
371 Les gens l'ont consulté

Why Does My Python Function Return `None` Instead of the Expected Output?

Comprendre le comportement de retour de la fonction Python

Pourquoi cette simple fonction Python renvoie-t-elle Aucun à sa fin ?

def printmult(n):
    i = 1
    while i <= 10:
        print(n * i, end=' ')
        i += 1
Copier après la connexion

Explication :

En Python, chaque fonction renvoie une valeur. Si une instruction return n'est pas explicitement fournie, la valeur de retour par défaut est None. Dans ce cas, la fonction printmult() ne spécifie aucune valeur de retour, elle renvoie donc par défaut Aucune.

Attente :

Il est possible de s'attendre à tort à ce que printmult(30) se comportera différemment de la réalité. Voici une précision :

  • printmult(30) évalue la fonction printmult() avec l'argument 30.
  • La fonction imprime la table de multiplication de 30 de 1 à 10, ce qui donne le sortie "30 60 90 120 150 180 210 240 270 300" (sans les guillemets).
  • Cependant, la fonction ne renvoie aucune valeur spécifique.
  • print() prend ensuite la valeur de retour de printmult(30) (qui est None) et l'imprime , ce qui n'entraîne aucune sortie visible puisque None n'a pas de chaîne représentation.

Recommandation :

Pour éviter ce comportement, renvoyez explicitement une valeur souhaitée à la fin de la fonction. Par exemple, vous pouvez renvoyer le dernier élément de la table de multiplication :

def printmult(n):
    i = 1
    while i <= 10:
        print(n * i, end=' ')
        i += 1
    return n * 10

print(printmult(30))  # Now returns 300
Copier après la connexion

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!

source:php.cn
Déclaration de ce site Web
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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal