Pourquoi une fonction à la fin avec “return 0” au lieu de “retour” en python?
Pourriez-vous expliquer la différence entre "0" et "retour"?
Par exemple:
do_1():
for i in xrange(5):
do_sth()
return 0
do_2():
for i in xrange(5):
do_sth()
return
Quelle est la différence entre les deux fonctions ci-dessus?
return
retourne None
Intéressant de noter que si vous avez omis le retour à la fin de la "do_2" fonction de la valeur de retour serait encore Aucun. Vous pouvez fermer une fonction sans retour juste par dedenting de l'édifice et il sera de retour Aucun.
OriginalL'auteur alwbtc | 2012-09-10
Vous devez vous connecter pour publier un commentaire.
Dépend de l'utilisation:
Et comme mentionné montré Tichodroma,
0
n'est pas égal àNone
. Cependant, dans boolean contexte, ils sont à la foisFalse
:OriginalL'auteur aneroid
OriginalL'auteur
En python, une fonction de retour
None
que ce soit explicitement ou implicitement.par exemple
Une fonction python serait de retour
0
soit en raison de certaines de calcul:Ou en raison d'un
magic
drapeau genre de chose, ce qui est mal vu.Mais en python, nous n'utilisons pas
0
pour désigner succès parce que c':ne serait pas évaluer à
True
si nous sommes retournés0
donc ceif
branche ne serait pas exécuté.OriginalL'auteur rantanplan
En Python, chaque fonction renvoie une valeur de retour, que ce soit implicitement ou explicitement.
Comme vous pouvez le voir,
foo
,bar
etqux
retour exactement le même, construite en constanteNone
.foo
retourneNone
parce qu'unreturn
instruction est manquant etNone
est la valeur de retour par défaut si une fonction n'est pas explicitement renvoyer une valeur.bar
retourneNone
, car il utilise unereturn
déclaration sans un argument, qui a aussi des valeurs par défaut pourNone
.qux
retourneNone
parce qu'il a explicitement fait.zero
est cependant tout à fait différente et renvoie le entier0
.Si évalué comme des booléens,
0
etNone
à la fois d'évaluer laFalse
, mais, en outre, ils sont très différents (différents types, en fait,NoneType
etint
).OriginalL'auteur Lukas Graf
il n'a rien à voir spécifiquement avec python.
chaque fois que vous effectuez une fonction que vous pouvez éventuellement renvoyer une valeur.
la
return
mot-clé est ce qui informe de la fonction si elle doit retourner une valeur ou non.si aucune valeur n'est donnée à la
return
ou pas de variable est attribuée à être retourné, alors la valeur de retour estNone
si vous assignez une valeur, dans ce cas,
0
être retournés, la valeur0
sera retourné par la fonction et la fonction prendra fin lorsque lereturn
mot-clé et la valeur est atteinte.certains plus d'informations sur
0
:la raison pour laquelle un
0
serait utilisé est parce qu'il est évident que les fonctions qui retournent0
ont "réussi" et non à zéro les valeurs de retour sont soit simplement la valeur à renvoyer, ou parfois les codes d'erreur si la fonction n'a pas effectué correctement.0
pour qualifier un succès.Tout cela est très spécifique à Python.
Et aussi des fonctions de retour de quelque chose (
None
) si unreturn
déclaration est omis.OriginalL'auteur Inbar Rose