Conseils de programmation

Les 10 meilleurs et utiles conseils pour accélérer votre code Python

Les 10 meilleurs et utiles conseils pour accélérer votre code Python

Si quelqu'un vous demande : « Quel est le langage de programmation qui connaît actuellement la croissance la plus rapide au monde ??" la réponse sera simple. son python. La popularité mondiale est due à sa syntaxe simple et à ses bibliothèques riches. De nos jours, vous pouvez presque tout faire avec python : science des données, apprentissage automatique, traitement du signal, visualisation de données - vous l'appelez. Cependant, beaucoup de gens prétendent que python est un peu lent tout en résolvant de graves problèmes. Mais le temps d'exécution d'un programme dépend du code que l'on écrit. Avec quelques trucs et astuces, on peut accélérer le code Python et améliorer les performances du programme.

Trucs et astuces pour accélérer le code Python


Si vous cherchez des moyens d'accélérer votre code python, l'article est pour vous. Il illustre les techniques et stratégies pour réduire le temps d'exécution d'un programme. Non seulement les astuces accéléreront le code, mais elles amélioreront également les compétences en python.

01. Utiliser les bibliothèques et fonctions intégrées


Python a des tonnes de fonctions et de modules de bibliothèque. Ils sont écrits par des développeurs experts et ont été testés plusieurs fois. Ainsi, ces fonctions sont très efficaces et aident à accélérer le code-pas besoin d'écrire le code si la fonction est déjà disponible dans la bibliothèque. Prenons un exemple simple à cet égard.

#code1 newlist = [] pour le mot dans l'ancienne liste : nouvelle liste.ajouter (mot.plus haut())
#code2 newlist = map(str.supérieur, ancienne liste)

Ici, le deuxième code est plus rapide que le premier car la fonction de bibliothèque map() a été utilisée. Ces fonctions sont pratiques pour les débutants. Qui ne veut pas écrire un code plus rapide, propre et plus petit? Par conséquent, utilisez autant que possible les fonctions et les modules de la bibliothèque.

02. La bonne structure de données au bon endroit


L'utilisation d'une structure de données appropriée réduira le temps d'exécution. Avant de commencer, il faut réfléchir à la structure de données qui sera utilisée dans le code. Une structure de données parfaite accélérera le code python tandis que d'autres le gâcheront. Vous devez avoir une idée de la complexité temporelle des différentes structures de données.

Python a des structures de données intégrées telles que liste, tuple, ensemble et dictionnaire. Les gens sont habitués à utiliser des listes. Mais il y a des cas où le tuple ou le dictionnaire fonctionne bien mieux que les listes. Pour en savoir plus sur les structures de données et les algorithmes, vous devez parcourir les livres d'apprentissage Python.

03. Try pour minimiser l'utilisation de pour Boucle


Il est assez difficile d'éviter l'utilisation de pour boucle. Mais chaque fois que vous avez l'occasion de l'empêcher, les experts disent que vous le faites. La boucle for est dynamique en python. Son temps d'exécution est plus qu'une boucle while. La boucle for imbriquée prend beaucoup plus de temps. Deux boucles for imbriquées prendront le carré du temps dans une seule boucle for.

#code1 pour i dans big_it : m = re.recherche(r'\d2-\d2-\d4', i) si m :… 
#code2 date_regex = re.compile(r'\d2-\d2-\d4') pour i dans big_it : m = date_regex.recherche(i) si m:… 

Il est préférable d'utiliser un remplacement approprié dans ce cas. De plus, si pour les boucles sont inévitables, déplacez le calcul en dehors de la boucle. ça fera gagner beaucoup de temps. Nous pouvons le voir dans l'exemple donné ci-dessus. Ici le 2ème code est plus rapide que le 1er code puisque le calcul a été fait en dehors de la boucle.

04. Éviter les variables globales


Les variables globales sont utilisées en python dans de nombreux cas. Le mot clé global est utilisé pour le déclarer. Mais le temps d'exécution de ces variables est plus que celui de la variable locale. En utilisant moins d'entre eux, vous évitez une utilisation inutile de la mémoire. De plus, Python récupère une variable locale plus rapidement qu'une variable globale. Lors de la navigation dans les variables externes, Python est vraiment lent.

Plusieurs autres langages de programmation s'opposent à l'utilisation non planifiée de variables globales. Le compteur est dû à des effets secondaires entraînant une durée d'exécution plus longue. Alors, essayez d'utiliser une variable locale au lieu d'une variable globale chaque fois que possible. De plus, vous pouvez faire une copie locale avant de l'utiliser en boucle, ce qui vous fait gagner du temps.

05. Augmenter l'utilisation de la compréhension de liste


La compréhension de liste offre une syntaxe plus courte. C'est une poignée quand une nouvelle liste est faite sur la base d'une liste existante. La boucle est un must dans n'importe quel code. Parfois, la syntaxe à l'intérieur de la boucle devient grande. Dans ce cas, on peut utiliser la compréhension de liste. On peut prendre l'exemple pour le comprendre plus précisément.

#code1 square_numbers = [] pour n dans la plage (0,20) : si n % 2 == 1 : square_numbers.ajouter(n**2)
#code2 square_numbers = [n**2 pour n dans la plage (1,20) si n%2 == 1]

Ici, le deuxième code prend moins de temps que le premier code. L'approche de la compréhension de liste est plus courte et plus précise. Cela peut ne pas faire beaucoup de différence dans les petits codes. Mais dans un développement poussé, cela peut vous faire gagner du temps. Alors, utilisez la compréhension de liste chaque fois que vous avez la possibilité d'accélérer votre code Python.

06. Remplacez range() par xrange()


La question de range() et xrange() vient si vous utilisez python 2. Ces fonctions sont utilisées pour itérer n'importe quoi dans la boucle for. Dans le cas de range(), il enregistre tous les nombres de la plage en mémoire. Mais xrange() n'enregistre que la plage de nombres à afficher.

Le type de retour de range() est une liste, et celui de xrange() est un objet. Finalement, xrange() prend moins de mémoire et, par conséquent, moins de temps. Donc, utilisez xrange() au lieu de range() chaque fois que possible. Bien sûr, cela ne s'applique qu'aux utilisateurs de python 2.

07. Utiliser des générateurs


En python, un générateur est une fonction qui renvoie un itérateur lorsque le mot clé yield est appelé. Les générateurs sont d'excellents optimiseurs de mémoire. Ils retournent un article à la fois au lieu de tout retourner à la fois. Si votre liste comprend un nombre considérable de données et que vous devez utiliser une donnée à la fois, utilisez des générateurs.

Les générateurs calculent les données en morceaux. Par conséquent, la fonction peut renvoyer le résultat lorsqu'elle est appelée et conserver son état. Les générateurs préservent l'état de la fonction en arrêtant le code une fois que l'appelant a généré la valeur, et il continue de s'exécuter là où il a été interrompu sur demande.

Étant donné que les générateurs accèdent et calculent la valeur à la demande, une partie importante des données n'a pas besoin d'être entièrement sauvegardée en mémoire. Il en résulte des économies de mémoire considérables, accélérant finalement le code.

08. Concaténer des chaînes avec Join


La concaténation est assez courante lorsque vous travaillez avec des chaînes. Généralement, en python, nous concaténons en utilisant '+'. Cependant, à chaque étape, l'opération "+" crée une nouvelle chaîne et copie l'ancien matériel. Ce processus est inefficace et prend beaucoup de temps. Nous devons utiliser join() pour concaténer des chaînes ici si nous voulons accélérer notre code Python.

#code1 x = "je" + "suis" + "a" + "python" + "geek" print(x)
#code2 x = " ".join(["je", "suis", "a", "python", "geek"]) print(x)

Si nous regardons l'exemple, le premier code imprime "Imapythongeek" et le deuxième code imprime "Je suis un python geek".  L'opération join() est plus efficace et plus rapide que '+'. Il garde également le code propre. Qui ne veut pas d'un code plus rapide et plus propre? Alors, essayez d'utiliser join() au lieu de '+' pour concaténer des chaînes.

09. Profilez votre code


Le profilage est un moyen classique d'optimiser le code. Il existe de nombreux modules pour mesurer les statistiques d'un programme. Ceux-ci nous permettent de savoir où le programme passe trop de temps et quoi faire pour l'optimiser. Donc, pour assurer l'optimisation, effectuer quelques tests, et améliorer le programme pour améliorer l'efficacité.

Le minuteur est l'un des profileurs. Vous pouvez l'utiliser n'importe où dans le code et trouver le runtime de chaque étape. Ensuite, nous pouvons améliorer le programme là où cela prend trop de temps. De plus, il existe un module de profilage intégré appelé LineProfiler. Il donne également un rapport descriptif sur le temps consommé. Il existe plusieurs profileurs que vous pouvez apprendre en lisant des livres python.

dix. Restez à jour - Utilisez la dernière version de Python


Il y a des milliers de développeurs qui ajoutent régulièrement plus de fonctionnalités à python. Les modules et les fonctions de bibliothèque que nous utilisons aujourd'hui seront obsolètes par les développements de demain. Les développeurs Python rendent le langage plus rapide et plus fiable jour après jour. Chaque nouvelle version a augmenté ses performances.

Nous devons donc mettre à jour les bibliothèques vers leur dernière version. Python 3.9 est la dernière version maintenant. De nombreuses bibliothèques de python 2 peuvent ne pas fonctionner sur python3. Gardons cela à l'esprit et utilisons toujours la dernière version pour obtenir des performances maximales.

Enfin, des aperçus


La valeur des développeurs Python dans le monde augmente de jour en jour. Alors qu'est-ce que tu attends! Il est grand temps que vous commenciez à apprendre à accélérer le code python. Les trucs et astuces que nous avons fournis vous aideront sûrement à écrire des codes efficaces. Si vous les suivez, nous pouvons espérer que vous pourrez améliorer votre code et aller dans des trucs python plus avancés.

Nous avons essayé de montrer toutes les principales astuces et astuces nécessaires pour accélérer le code. Nous espérons que l'article a répondu à la plupart de vos questions. Maintenant, le reste est sur toi. Cependant, il n'y a pas de fin à la connaissance et pas de fin à l'apprentissage. Donc, si nous avons manqué quelque chose de majeur, faites-le nous savoir. Bon apprentissage!

Trackpad et pointeur de souris à l'écran AppyMouse pour tablettes Windows
Les utilisateurs de tablettes ratent souvent le pointeur de la souris, surtout lorsqu'ils ont l'habitude d'utiliser les ordinateurs portables. Les sma...
Le bouton central de la souris ne fonctionne pas sous Windows 10
le bouton central de la souris vous aide à faire défiler de longues pages Web et des écrans contenant beaucoup de données. Si cela s'arrête, et bien v...
Comment changer les boutons gauche et droit de la souris sur un PC Windows 10
Il est tout à fait normal que tous les appareils de souris d'ordinateur soient conçus de manière ergonomique pour les droitiers. Mais il existe des so...