====== Fonctions et Classes ====== ===== Appel de fonction ===== Appel dans une boucle : def doit(): something() rng = range(x) for i in rng: doit() Boucle dans la fonction : def doit(x): rng = range(x) for i in rng: something() doit(x) 1.000.000 de tours : - Appel dans une boucle : 1.341 - Boucle dans la fonction : 1.164 0|50x20|100|Dans:100,Hors:70 L'appel à une fonction prends du temps, il est donc bien plus rapide de mettre la boucle à l'intérieur de la fonction. ===== Classes ==== ==== Accès aux méthodes ==== Point dans la boucle : arr = [] rng = range(x) for i in rng: arr.append(something()) Point hors de la boucle : arr = [] append = arr.append rng = range(x) for i in rng: append(something()) Calcul effectué 1.000.000 de fois : - Point dans la boucle : 1.307 - Point hors de la boucle : 1.157 0|50x20|1.3|Dans:1.3,Hors:1.1 La référence à une méthode de classe (syntaxe du point), au lieu d'être recalculée à chaque tour de boucle, peut être une fois pour toutes stockée dans une variable, accélérant notablement les calculs.