return None
ou return
si je veux terminer le traitement de la fonction avec l'instruction return?Lorsque j'écrivais une fonction Python, je me suis soudainement demandé.
La question est de savoir si vous devez écrire «return» ou «return None» si vous souhaitez terminer le processus au milieu de la fonction.
Puisqu'il est recommandé d'écrire explicitement en Python, je me demandais si je devais écrire «return None» à la fois en terminant le processus avec l'instruction return et en renvoyant «None». (* En Python, si seul return
est écrit dans la définition de la fonction, ou s'il n'y a pas de description de return
, None
sera retourné. Référence: [Python] Valeur retournée par la fonction qui n'a pas décrit return. )
De la conclusion, il semble que ** return` est meilleur ** lorsque vous voulez juste terminer la fonction. Cependant, il semble y avoir certaines choses à prendre en compte lorsque vous n'écrivez que «return».
return, return None, et aucun retour du tout? a été utile. Laissez-moi vous expliquer avec un exemple.
return None
def hello_all():
persons = ['Zepp', 'Eric']
if persons:
for person in persons:
print('Hello ' + person)
#Renvoie None si la liste est vide
else:
return None
return
Si vous voulez utiliser la valeur de retour None, vous avez explicitement écrit return None
, mais si vous voulez terminer la fonction au lieu d'utiliser la valeur de retour, vous pouvez utiliser return
. Le code ci-dessous est utilisé pour quitter la boucle for et terminer la fonction.
def hello_zepp():
persons = ['Zepp', 'Eric']
for person in persons:
print('Hello ' + person)
#Terminer le traitement
return
En d'autres termes, lorsque ** for loop est unique, cela fonctionne de la même manière que break
**.
Si vous souhaitez terminer le processus dans une boucle for imbriquée dans plusieurs boucles for, contrairement à break
, vous pouvez terminer la fonction en écrivant un seul return
, ce qui simplifie le code.
Lorsque vous utilisez return
de cette manière, utilisez-le lorsque vous voulez forcer la fin du processus au milieu de la fonction, comme lorsque vous quittez la boucle.
Dans ce cas, la valeur de retour «Aucun» n'est pas censée être utilisée, vous ne devez donc pas affecter la valeur de retour à une variable.
#↓ ne doit pas être fait
result = hello_zepp()
De plus, si vous souhaitez terminer la fonction au milieu, vous souhaiterez peut-être interrompre le processus car les conditions ne sont pas remplies. Dans un tel cas, il est préférable de créer une classe d'exception appropriée, de lever une exception et de gérer l'exception au niveau de l'appelant, plutôt que d'utiliser return
.
Les fonctions Python ne nécessitent pas nécessairement une instruction return, mais même s'il n'y a pas d'instruction return, «None» est retourné comme valeur de retour.
#Il n'y a pas d'instruction return, mais None est retourné comme valeur de retour
def hello_eric():
persons = ['Zepp', 'Eric']
print('Hello ' + persons[1])
Dans ce cas également, comme dans le cas de «return None», ce «None» n'est pas censé être utilisé, donc n'affectez pas la valeur de retour à une variable.
return
lorsque vous souhaitez simplement interrompre le traitement de la fonction.
--Utilisez return None
pour utiliser la valeur de retour None
.
--return
peut être utile lorsque vous souhaitez sortir de plusieurs boucles à la fois.return
ou la valeur de retour None
sans une instruction return.Recommended Posts