Quelle est l'explication de base simple de ce qu'est l'instruction return, comment l'utiliser en Python ?
Et quelle est la différence entre elle et le print
déclaration ?
Quelle est l'explication de base simple de ce qu'est l'instruction return, comment l'utiliser en Python ?
Et quelle est la différence entre elle et le print
déclaration ?
Cette réponse passe en revue certains des cas qui n'ont pas été abordés ci-dessus.
Le site retourner vous permet de résilier l'exécution d'une fonction avant d'en atteindre la fin. Ainsi, le flux d'exécution revient immédiatement à l'appelant.
Dans la ligne numéro 4 :
def ret(n):
if n > 9:
temp = "two digits"
return temp #Line 4
else:
temp = "one digit"
return temp #Line 8
print("return statement")
ret(10)
Après l'exécution de l'instruction conditionnelle, le ret()
La fonction est interrompue en raison de return temp
(ligne 4). Ainsi, la print("return statement")
n'est pas exécuté.
Sortie :
two digits
Ce code qui apparaît après les déclarations conditionnelles, ou l'endroit que le flux de contrôle ne peut pas atteindre, est le code nul .
Retour des valeurs
Aux lignes 4 et 8, l'instruction return est utilisée pour renvoyer la valeur d'une variable temporaire après l'exécution de la condition.
Pour faire ressortir la différence entre imprimer et retourner :
def ret(n):
if n > 9:
print("two digits")
return "two digits"
else :
print("one digit")
return "one digit"
ret(25)
Sortie :
two digits
'two digits'
Juste pour ajouter à l'excellente réponse de @Nathan Hughes :
Le site return
peut être utilisée comme une sorte de flux de contrôle. En mettant une (ou plusieurs) return
au milieu d'une fonction, on peut dire : "arrêtez d'exécuter cette fonction. Soit nous avons obtenu ce que nous voulions, soit quelque chose a mal tourné !".
Voici un exemple :
>>> def make_3_characters_long(some_string):
... if len(some_string) == 3:
... return False
... if str(some_string) != some_string:
... return "Not a string!"
... if len(some_string) < 3:
... return ''.join(some_string,'x')[:,3]
... return some_string[:,3]
...
>>> threechars = make_3_characters_long('xyz')
>>> if threechars:
... print threechars
... else:
... print "threechars is already 3 characters long!"
...
threechars is already 3 characters long!
Voir le Section Style de code du Guide Python pour plus de conseils sur cette manière d'utiliser return
.
Je pense qu'une réponse très simple pourrait être utile ici :
return
rend la valeur (une variable, souvent) disponible pour être utilisée par l'appelant (par exemple, pour être stockée par une fonction que la fonction utilisant return
se trouve à l'intérieur). Sans return
votre valeur ou votre variable ne sera pas disponible pour que l'appelant puisse la stocker ou la réutiliser.
print
imprime à l'écran, mais ne rend pas la valeur ou la variable disponible pour être utilisée par l'appelant.
(En admettant pleinement que les réponses plus approfondies sont plus précises).
La différence entre "return" et "print" peut également être trouvée dans l'exemple suivant :
RETOUR :
def bigger(a, b):
if a > b:
return a
elif a <b:
return b
else:
return a
Le code ci-dessus donnera des résultats corrects pour toutes les entrées.
PRINT :
def bigger(a, b):
if a > b:
print a
elif a <b:
print b
else:
print a
NOTE : Ceci échouera pour de nombreux cas de test.
ERROR :
----
FAILURE
: Test case input: 3, 8.
Expected result: 8
FAILURE
: Test case input: 4, 3.
Expected result: 4
FAILURE
: Test case input: 3, 3.
Expected result: 3
You passed 0 out of 3 test cases
Voici ce que je comprends. (j'espère que cela aidera quelqu'un et que c'est correct).
def count_number_of(x):
count = 0
for item in x:
if item == "what_you_look_for":
count = count + 1
return count
Ce simple morceau de code compte donc le nombre d'occurrences de quelque chose. Le placement du retour est significatif. Il indique à votre programme où vous avez besoin de la valeur. Ainsi, lorsque vous imprimez, vous envoyez la sortie à l'écran. Quand vous retournez, vous dites à la valeur d'aller quelque part. Dans ce cas, vous pouvez voir que compte = 0 est indenté avec le retour - nous voulons que la valeur (compte + 1) remplace 0. Si vous essayez de suivre la logique du code en indentant davantage la commande return, la sortie sera toujours 1, car nous ne dirons jamais au compte initial de changer. J'espère que j'ai bien compris. Oh, et return est toujours à l'intérieur d'une fonction.
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.
2 votes
Duplicata possible de En quoi le retour de la sortie d'une fonction diffère-t-il de son impression ?