Python >> Tutoriel Python >  >> Python

Comment Python sait-il qu'un bloc de code est dans une boucle ?

Cela se fait en effet par indentation. Donc dans votre exemple, statement 1 est dans la boucle for, statement 2 n'est pas. Vous pouvez utiliser des espaces et des tabulations comme indentation, tant que vous utilisez la même chose partout dans le code.

Un exemple de boucle for imbriquée :

for i in range(5):
    for j in range(10):
        print j
    print i
print 'Done!'

print j se fait dans la boucle j-for. print i se fait dans la boucle i-for. Done! ne sera imprimé qu'une seule fois, au final.


Python identifie les blocs à l'aide de l'indentation. Toutes les instructions d'un bloc particulier doivent être indentées au même niveau, bien que vous puissiez utiliser n'importe quelle quantité d'indentation, mais toutes les instructions d'un bloc particulier doivent avoir le même niveau d'indentation. Donc dans votre exemple, Statement 2 est bien en dehors du pour boucle dans le même niveau d'indentation, donc dans le même bloc que for boucle.

Une chose importante à noter, même s'il est permis d'utiliser différents niveaux d'indentation pour différents blocs (y compris le mélange de tabulations et d'espaces, vous ne devriez pas le faire, et vous devriez toujours utiliser la même quantité d'indentation partout), c'est-à-dire si vous indentez un bloc de quatre espaces par rapport au bloc précédent, vous devriez idéalement toujours indenter comme ça.

PEP-0008 (le guide de style pour Python) suggère d'utiliser quatre espaces comme indentation.