Maison  >  Article  >  développement back-end  >  5 utilisations avancées pour améliorer l'efficacité de Python

5 utilisations avancées pour améliorer l'efficacité de Python

coldplay.xixi
coldplay.xixioriginal
2021-02-22 17:29:032825parcourir

5 utilisations avancées pour améliorer l'efficacité de Python

Recommandations d'apprentissage gratuites : Tutoriel vidéo Python

5 utilisations avancées pour améliorer lefficacité de Python
Les fonctionnalités avancées de tout langage de programmation sont généralement découvertes grâce à une vaste expérience. Disons que vous travaillez sur un projet complexe et que vous cherchez une réponse à une question sur le stackoverflow. Puis vous découvrez soudain une solution très élégante qui utilise des fonctionnalités Python dont vous ignoriez l’existence !

Cette façon d'apprendre est tellement amusante : grâce à l'exploration, vous tombez sur quelque chose.

Voici 5 fonctionnalités avancées de Python et leur utilisation.

Fonction Lambda

La fonction Lambda est une fonction anonyme relativement petite - anonyme signifie qu'elle n'a en fait aucun nom de fonction.

Les fonctions Python sont généralement définies en utilisant le style def a_function_name(), mais pour la fonction lambda, nous ne la nommons pas du tout. En effet, la fonction d'une fonction lambda est d'effectuer une expression ou une opération simple sans définir complètement la fonction.

Une fonction lambda peut prendre n'importe quel nombre d'arguments, mais une expression ne peut en avoir qu'un.
5 utilisations avancées pour améliorer lefficacité de Python
Regardez comme c'est facile ! Nous avons effectué quelques opérations mathématiques simples sans définir la fonction entière. C’est l’une des nombreuses fonctionnalités de Python qui en font un langage de programmation propre et simple.

Fonction Map

Map() est une fonction Python intégrée qui peut appliquer des fonctions à des éléments dans diverses structures de données, telles que des listes ou des dictionnaires. C'est une manière très claire et lisible d'effectuer cette opération.
5 utilisations avancées pour améliorer lefficacité de Python
Fonction Filtre

La fonction filtre intégrée est très similaire à la fonction map, qui applique également des fonctions aux structures de séquence (listes, tuples, dictionnaires ). La principale différence entre les deux est que filter() ne renverra que les éléments pour lesquels la fonction appliquée renvoie True.

Voir l'exemple suivant pour plus de détails
5 utilisations avancées pour améliorer lefficacité de Python
Non seulement nous évaluons chaque élément de la liste pour True ou False, mais la fonction filter() garantit également que seuls les éléments correspondant à True sont renvoyés. Il est très pratique de gérer les deux étapes de vérification des expressions et de création de listes de retour.

Module Itertools

Le module Itertools de Python est une collection d'outils permettant de travailler avec des itérateurs. Les itérateurs sont un type de données qui peut être utilisé dans les instructions de boucle, notamment les listes, les tuples et les dictionnaires.

L'utilisation des fonctions du module Itertools vous permet d'effectuer de nombreuses opérations d'itérateur qui nécessitent souvent des fonctions multilignes et des compréhensions de listes complexes. Concernant la magie d'Itertools, veuillez consulter l'exemple suivant :
5 utilisations avancées pour améliorer lefficacité de Python
5 utilisations avancées pour améliorer lefficacité de Python
Fonction Générateur

La fonction Générateur est une fonction de type itérateur , c'est-à-dire qu'il peut également être utilisé dans les instructions de boucle for. Cela simplifie grandement votre code et économise beaucoup de mémoire par rapport à une simple boucle for.

Par exemple, nous voulons additionner tous les nombres de 1 à 1000, la première partie du bloc de code suivant vous montre comment faire ce calcul à l'aide d'une boucle for.

Si la liste est petite, disons 1000 lignes, la mémoire requise pour le calcul est correcte. Mais si la liste est énorme, comme des milliards de nombres à virgule flottante, cela posera des problèmes. En utilisant ce type de boucle for, vous aurez une énorme liste en mémoire, mais tout le monde ne dispose pas de RAM illimitée pour stocker autant de choses. La fonction range() en Python fait la même chose, elle construit une liste en mémoire.

La deuxième partie du code montre l'utilisation de la fonction générateur Python pour additionner une liste de nombres. La fonction générateur crée des éléments et les stocke en mémoire uniquement lorsque cela est nécessaire, c'est-à-dire un à la fois. Cela signifie que si vous deviez créer un milliard de nombres à virgule flottante, vous ne pourriez les stocker en mémoire qu'un par un ! La fonction xrange() de Python 2.x utilise un générateur pour créer une liste.

L'exemple ci-dessus illustre : Si vous souhaitez générer une liste pour une large plage, vous devez utiliser la fonction générateur. Cette approche est particulièrement importante si vous disposez d'une mémoire limitée, comme avec les appareils mobiles ou l'informatique de pointe.

Cela dit, si vous souhaitez parcourir une liste plusieurs fois et qu'elle est suffisamment petite pour tenir en mémoire, il est préférable d'utiliser une boucle for ou la fonction range dans Python 2.x. Étant donné que la fonction générateur et la fonction xrange généreront de nouvelles valeurs de liste à chaque fois que vous y accéderez, la fonction range Python 2.x est une liste statique et les entiers sont déjà placés en mémoire pour un accès rapide.
5 utilisations avancées pour améliorer lefficacité de Python
Pour les débutants qui souhaitent apprendre plus facilement le développement Python, la technologie des robots d'exploration, l'analyse des données Python, l'intelligence artificielle et d'autres technologies, voici un ensemble de supports d'apprentissage allant de l'introduction à la pratique de Python, qui sont disponibles pour gratuit. .

Recommandations d'apprentissage gratuites associées : Tutoriel Python(vidéo)

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn