J'ai vu quelqu'un poster la réponse suivante pour faire la différence entre si passer et si continuer. Je sais que la liste "a" est [0,1,2], je ne sais simplement pas quel est le résultat pour "sinon un élément"? Pourquoi lors de l'utilisation de continuer, le 0 n'est pas imprimé, seuls 1 et 2 sont imprimés? quand a = 0, "sinon élément" est "sinon 0", a-t-il une signification particulière?
>>> a = [0, 1, 2]
>>> for element in a:
... if not element:
... pass
... print element
...
0
1
2
>>> for element in a:
... if not element:
... continue
... print element
...
1
2
'0' non imprimé à cause de la condition "sinon élément:"
Si l'élément est None, False, chaîne vide ('') ou 0, la boucle continuera avec l'itération suivante.
L'utilisation de continue
passe pour la prochaine itération du for loop
L'utilisation de pass
ne fait rien
Ainsi, lorsque vous utilisez continue
la print
ne se produira pas (car le code a continué jusqu'à la prochaine itération)
Et lorsque vous utilisez pass
cela terminera simplement la if
paisiblement (sans rien faire en fait) et fera également la print
De: https://docs.python.org/2/tutorial/controlflow.html#pass-statements
L'instruction pass ne fait rien. Il peut être utilisé lorsqu'une instruction est requise syntaxiquement mais que le programme ne nécessite aucune action.
Dans votre extrait de code ci-dessus if not element
sera évalué à true
lorsque element = 0
. Dans python 0
est identique à booléen false. Dans la première boucle, pass
ne fait rien, donc il imprime les trois éléments. Dans la deuxième boucle, continue arrêtera l'exécution du reste de la boucle pour cette itération. de sorte que l'instruction print ne s'exécute jamais. il imprime donc seulement 1 et 2.
if not element:
Dans les deux exemples, cela ne correspondra qu'au 0
.
pass
Cela fait rien. Ainsi, la commande suivante, print element
, sera exécuté.
continue
Cela indique Python pour arrêter cela pour le cycle de boucle et passer au cycle suivant de la boucle. Donc print element
ne sera jamais atteint. Au lieu de cela, la boucle for prendra la valeur suivante, 1
et commencez par le haut.
continue
est une instruction de flux de contrôle utilisée pour échapper au corps d'itération le plus interne. Lorsque votre code frappe
if not element
l'interpréteur ignore toutes les valeurs de l'élément qui ne valident pas pour true
. 0 est une de ces valeurs et il passe à l'itération suivante de la boucle lorsqu'il ne rencontre pas l'instruction continue et continue donc à imprimer la valeur de l'élément 1
et ensuite 2
En revanche, l'instruction pass ne fait que sauter et retourner à la ligne de code suivante pour s'exécuter.
Il existe une différence fondamentale entre pass
et continue
en Python. pass
ne fait simplement rien, tandis que continue
passe à l'itération suivante de la boucle for. La déclaration if not 0
est toujours évalué en True
, donc les instructions pass
et continue
seront exécutées. pass
ne fera rien et affichera la valeur, tandis que continue
passera à l'itération suivante en ignorant l'instruction print
écrite ci-dessous.