47 votes

La fonction renvoie l’instruction None without return

Je viens d’apprendre (j’apprends) comment fonctionnent les paramètres de fonction en Python, et j’ai commencé à l’expérimenter sans raison apparente, lorsque ceci:

a donné l’ouput:

D’où `` vient-il? Et qu’est-ce que c’est?

55voto

phihag Points 89765

C’est la valeur de retour de la fonction, que vous imprimez. S’il n’y a pas d’instruction return (ou juste un `` sans argument),un implicite `` est ajouté à la fin d’une fonction.

Vous souhaitez probablement renvoyer les valeurs dans la fonction au lieu de les imprimer :

1voto

Alexis Métaireau Points 909

Vous faites deux impressions, la première dans le corpus de votre fonction et la seconde imprime le résultat de la fonction, qui est en fait Aucune.

Vous devriez plutôt faire quelque chose comme ceci:

Alors

1voto

de1337ed Points 589

Oui, fondamentalement, vous utilisez des relevés imprimés dans votre fonction comme un moyen de renvoyer des informations. Vous ne devriez pas faire cela. L’impression n’est PAS la même chose qu’un relevé de retour. Si vous voulez simplement que votre fonction donne votre réponse sans le non, tapez simplement jiskya (2, 3) à la place. Vous verrez ce que la fonction jette parce que vous avez des instructions d’impression dans la fonction. Si au lieu de cela vous tapiez « return » dans votre fonction, cela ne vous donnerait rien sans le « print » précédant l’appel de fonction.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X