
Python pour les professionnels
Description
Introduction au livre
Techniques de programmation qui libèrent le potentiel de Python
N'essayez pas d'imposer à Python des schémas de pensée appris dans d'autres langages.
La simplicité de Python peut rapidement accroître votre productivité, mais cette même simplicité peut aussi vous empêcher d'exploiter pleinement les riches fonctionnalités du langage.
Apprenez à utiliser Python de manière plus efficace et habile grâce à cette dernière édition révisée qui allie théorie et pratique.
Ce livre explore en profondeur les problèmes pratiques auxquels vous êtes confrontés et ne contient que les informations essentielles.
Il fournit un guide détaillé des fonctionnalités et bibliothèques principales de Python, et suggère des moyens d'écrire un code plus court, plus rapide et plus lisible.
N'essayez pas d'imposer à Python des schémas de pensée appris dans d'autres langages.
La simplicité de Python peut rapidement accroître votre productivité, mais cette même simplicité peut aussi vous empêcher d'exploiter pleinement les riches fonctionnalités du langage.
Apprenez à utiliser Python de manière plus efficace et habile grâce à cette dernière édition révisée qui allie théorie et pratique.
Ce livre explore en profondeur les problèmes pratiques auxquels vous êtes confrontés et ne contient que les informations essentielles.
Il fournit un guide détaillé des fonctionnalités et bibliothèques principales de Python, et suggère des moyens d'écrire un code plus court, plus rapide et plus lisible.
- Vous pouvez consulter un aperçu du contenu du livre.
Aperçu
indice
[PARTIE 1 Structures de données]
CHAPITRE 1 : Le modèle de données Python
1.1 Modifications apportées à ce chapitre
_1.2 Un jeu de cartes Python Down
1.3 Utilisation de méthodes spéciales
1.4 Aperçu des méthodes spéciales
_1.5 Pourquoi la méthode len() n'a-t-elle pas été transformée en méthode ?
_1.6 Résumé
CHAPITRE 2 Tableaux de séquences
2.1 Modifications apportées à ce chapitre
2.2 Aperçu de la séquence intégrée
_2.3 Liste complète et expressions génératrices
_2.4 Tuples qui vont au-delà des listes immuables
_2.5 Déballage de séquences et d'objets itératifs
_2.6 Recherche de motifs à l'aide de séquences
_2.7 Découpe
_2.8 Utilisation des opérateurs d'addition et de multiplication sur les suites
_2.9 Fonctions intégrées list.sort() et sorted()
2.10 Quand la liste n'est pas la réponse
_2.11 Résumé
CHAPITRE 3 Dictionnaires et ensembles
3.1 Modifications apportées à ce chapitre
_3.2 Syntaxe de dictionnaire la plus récente
3.3 Appariement de motifs par mappage
_3.4 API standard pour les types de mappage
3.5 Gestion automatique des clés inexistantes
_3.6 Variantes de dictionnaire
3.7 Cartographie immuable
_3.8 Vue du dictionnaire
_3.9 Impact de l'opération de dictionnaire
3.10 Théorie des ensembles
3.11 L'impact du fonctionnement des ensembles
_3.12 Opérations ensemblistes sur les vues de dictionnaire
_3.13 Résumé
CHAPITRE 4 Texte et octets Unicode
4.1 Modifications apportées à ce chapitre
_4.2 Problèmes de texte
_4,3 octets Connaissances de base
_4.4 Encodeur/décodeur de base
_4.5 Comprendre les problèmes d'encodage/décodage
_4.6 Gestion des fichiers texte
4.7 Comparaison correcte avec la normalisation Unicode
4.8 Tri de texte Unicode
Base de données Unicode _4.9
_4.10 API str et bytes en mode double
_4.11 Résumé
CHAPITRE 5 Générateur de classes de données
5.1 Modifications apportées à ce chapitre
5.2 Vue d'ensemble du générateur de classes de données
_5.3 Tuples nommés classiques
_5.4 Tuples avec des types de données et des noms d'éléments spécifiés
_5.5 Connaissances de base des indications de type de données
_5.6 @dataclass explication supplémentaire
_5.7 Les classes de données comme signes de mauvaise conception
_5.8 Correspondance de modèles d'instances de classe
_5.9 Résumé
CHAPITRE 6 Références d'objets, mutabilité et recyclage
6.1 Modifications apportées à ce chapitre
_6.2 Concept de variable
_6.3 Identité, homogénéité et alias
6.4 La copie par défaut est une copie superficielle
_6.5 Paramètres de fonction comme références
_6.6 suppression et collecte des déchets
_6.7 Le secret de Python pour manipuler les types immuables
_6.8 Résumé
[PARTIE 2 : Les fonctions en tant qu'objets]
CHAPITRE 7 Les fonctions en tant qu'objets de première classe
7.1 Modifications apportées à ce chapitre
7.2 Traiter les fonctions comme des objets
7.3 Fonctions de haut niveau
7.4 Fonctions anonymes
_7.5 Neuf objets appelables
_7.6 Types appelables définis par l'utilisateur
7.7 Des paramètres positionnels aux paramètres composés uniquement de mots-clés
_7.8 Packages pour la programmation fonctionnelle
_7.9 Résumé
CHAPITRE 8 Indications sur les types de données dans les fonctions
8.1 Modifications apportées à ce chapitre
8.2 Aperçu de la saisie progressive
8.3 Exemple de saisie progressive
8.4 Types de données définis par les opérations prises en charge
_8.5 Types de données pouvant être utilisés dans les annotations
_8.6 Annotations pour les paramètres positionnels et variables
8.7 Typage imparfait et tests robustes
_8.8 Résumé
CHAPITRE 9 Décorateurs et fermetures
_9.1 Modifications apportées à ce chapitre
_9.2 Notions de base en décoration
_9.3 Quand Python exécute-t-il un décorateur ?
_9.4 Décorateur d'inscription
_9.5 Règles de portée des variables
_9.6 Fermeture
_9.7 Déclaration non locale
_9.8 Implémentation d'un décorateur simple
_9.9 Décorateurs fournis par la bibliothèque standard
_9.10 Décorateurs paramétrés
Résumé du 9.11
CHAPITRE 10 Modèles de conception de fonctions de première classe
_10.1 Modifications apportées à ce chapitre
_10.2 Étude de cas : Stratégies de refactorisation
_10.3 Modèles de commandes
_10.4 Résumé
[PARTIE 3 Classes et protocoles]
CHAPITRE 11 Objets Pythoniques
_11.1 Modifications apportées à ce chapitre
_11.2 Représentation des objets
_11.3 La résurrection de la classe vectorielle
_11.4 Constructeur alternatif
_11.5 @classmethod et @staticmethod
_11.6 Sortie formatée
_11.7 Vecteur hachable 2D
_11.8 Prise en charge de la correspondance des modèles de localisation
_11.9 Vector2d Version n° 3 : Code complet
11.10 Propriétés privées et protégées en Python
_11.11 Sauvegarde de la mémoire avec __slots__
_11.12 Surcharge des propriétés de classe
Résumé du 11.13
CHAPITRE 12 SÉQUENCE MÉTHODES SPÉCIALES
_12.1 Modifications apportées à ce chapitre
_12.2 Vecteur : type de séquence défini par l’utilisateur
_12.3 Version vectorielle n° 1 : compatible avec Vector2D
12.4 Protocoles et typage dynamique
_12.5 Version vectorielle n° 2 : Séquences découpables
_12.6 Version vectorielle n° 3 : Accès dynamique aux propriétés
_12.7 Version vectorielle n° 4 : Hachage et plus rapide ==
_12.8 Version vectorielle n° 5 : Mise en forme
_12.9 Résumé
CHAPITRE 13 Interfaces, protocoles et classes de base abstraites
_13.1 Classification de type
_13.2 Modifications apportées à ce chapitre
_13.3 Deux protocoles
_13.4 Typage Duck
_13.5 Dactylographie de l'oie
_13.6 Protocole statique
_13.7 Résumé
CHAPITRE 14 L'héritage : avantages et inconvénients
_14.1 Modifications apportées à ce chapitre
_14.2 super() fonction
_14.3 Problèmes liés à l'héritage intégré
14.4 Héritage multiple et ordre de résolution des méthodes
_14.5 Classe Mixin
_14.6 L'héritage multiple dans le monde réel
_14.7 Gestion des successions
_14.8 Résumé
CHAPITRE 15 : Un examen plus approfondi des indications de type de données
_15.1 Modifications apportées à ce chapitre
_15.2 Signature surchargée
_15.3 Dictionnaire typé
_15.4 Conversion de type de données
_15.5 Lecture des indications de type de données à l'exécution
_15.6 Implémentation d'une classe générique
_15.7 Variabilité
_15.8 Mise en œuvre d'un protocole statique générique
_15.9 Résumé
CHAPITRE 16 Surcharge de l'opérateur
_16.1 Modifications apportées à ce chapitre
_16.2 Principes de base de la surcharge des opérateurs
_16.3 Opérateurs unaires
_16.4 Surcharge de l'opérateur + pour l'addition vectorielle
_16.5 Surcharge de l'opérateur * pour la multiplication scalaire
_16.6 Utilisation de @ comme opérateur infixe
_16.7 Résumé des opérateurs arithmétiques
_16.8 Opérateurs de comparaison enrichis
_16.9 Opérateurs d'affectation composée
_16.10 Résumé
[PARTIE 4 FLUX DE CONTRÔLE]
CHAPITRE 17 Itérateurs, générateurs et coroutines classiques
_17.1 Modifications apportées à ce chapitre
_17.2 Séquence de mots
_17.3 Pourquoi les séquences sont répétables : la fonction iter()
_17.4 Itérations et itérateurs
_17.5 Classe de phrase avec __iter__( )
_17.6 Phrase tranquille
_17.7 Quand les expressions génératrices sont-elles appropriées ?
_17.8 Générateur de séquences arithmétiques
_17.9 Fonctions génératrices dans la bibliothèque standard
_17.10 Fonctions qui réduisent le nombre d'itérations
_17.11 Sous-générateur utilisant le rendement de
_17.12 Itération générique
_17.13 Coroutines classiques
_17.14 Résumé
CHAPITRE 18 avec, correspondance, sinon blocs
_18.1 Modifications apportées à ce chapitre
_18.2 Gestionnaires de contexte et le bloc
_18.3 Étude de cas : Correspondance de motifs dans lis.py
_18.4 bloc else après l'instruction if
_18.5 Résumé
CHAPITRE 19 : Le modèle de concurrence de Python
_19.1 Modifications apportées à ce chapitre
_19.2 Aperçu
_19.3 Bref glossaire des termes
_19.4 Version concurrente Hello World
_19.5 L'impact réel de la GIL
_19.6 Pool de processus personnalisés
_19.7 Python dans un monde multicœur
_19.8 Résumé
CHAPITRE 20 Exécuteurs simultanés
_20.1 Modifications apportées à ce chapitre
20.2 Téléchargement simultané de contenu Web
_20.3 Exécution de processus avec concurrent.futures
_20.4 Exécuteur.map() Expérience
_20.5 Téléchargement pendant l'impression et gestion des erreurs
_20.6 Résumé
CHAPITRE 21 Programmation asynchrone
_21.1 Modifications apportées à ce chapitre
_21.2 Quelques définitions
_21.3 Exemple asyncio : recherche de domaine
_21.4 Nouveau concept : L'attente
_21.5 Téléchargement avec asyncio et HTTPX
_21.6 Gestionnaire de contexte asynchrone
_21.7 Programme de téléchargement asyncio amélioré
_21.8 Déléguer une tâche à un exécutant
_21.9 Écriture d'un serveur asyncio
_21.10 Itération asynchrone et types d'itération asynchrone
_21.11 Asyncio Au-delà d'Asyncio : Curiosité
_21.12 Spécification des indications de type de données pour les objets asynchrones
_21.13 Vérités et idées fausses sur les méthodes asynchrones
_21.14 Résumé
[PARTIE 5 Métaprogrammation]
CHAPITRE 22 Attributs et propriétés dynamiques
_22.1 Modifications apportées à ce chapitre
_22.2 Manipulation des données à l'aide de propriétés dynamiques
_22.3 Propriétés calculées
_22.4 Utilisation des propriétés pour valider les attributs
_22.5 Comprendre correctement les propriétés
_22.6 Implémentation d'une fabrique de propriétés
_22.7 Gestion de la suppression des attributs
_22.8 Propriétés et fonctions clés pour le traitement des attributs
_22.9 Résumé
CHAPITRE 23 Descripteurs d'attributs
_23.1 Modifications apportées à ce chapitre
_23.2 Exemple de descripteur : Validation des attributs
_23.3 Descripteurs prioritaires et non prioritaires
_23.4 La méthode est un descripteur
_23.5 Conseils pour l'utilisation des descripteurs
_23.6 Chaînes de documentation des descripteurs et remplacement des suppressions
_23.7 Résumé
CHAPITRE 24 : Métaprogrammation de classe
_24.1 Modifications apportées à ce chapitre
_24.2 Les classes en tant qu'objets
_24.3 type : Usine de classe intégrée
_24.4 Fonctions de fabrique de classes
_24.5 Introduction de __init_subclass__()
_24.6 Amélioration des classes à l'aide de décorateurs de classe
_24.7 Comparaison du temps d'importation et du temps d'exécution
_24.8 Notions de base de la métaclasse
_24.9 Solution de métaclasse pour Checked
_24.10 Considérations relatives aux métaclasses
_24.11 Exploration des métaclasses avec __prepare__()
_24.12 Résumé des clés de la métaclasse
_24.13 Résumé
CHAPITRE 1 : Le modèle de données Python
1.1 Modifications apportées à ce chapitre
_1.2 Un jeu de cartes Python Down
1.3 Utilisation de méthodes spéciales
1.4 Aperçu des méthodes spéciales
_1.5 Pourquoi la méthode len() n'a-t-elle pas été transformée en méthode ?
_1.6 Résumé
CHAPITRE 2 Tableaux de séquences
2.1 Modifications apportées à ce chapitre
2.2 Aperçu de la séquence intégrée
_2.3 Liste complète et expressions génératrices
_2.4 Tuples qui vont au-delà des listes immuables
_2.5 Déballage de séquences et d'objets itératifs
_2.6 Recherche de motifs à l'aide de séquences
_2.7 Découpe
_2.8 Utilisation des opérateurs d'addition et de multiplication sur les suites
_2.9 Fonctions intégrées list.sort() et sorted()
2.10 Quand la liste n'est pas la réponse
_2.11 Résumé
CHAPITRE 3 Dictionnaires et ensembles
3.1 Modifications apportées à ce chapitre
_3.2 Syntaxe de dictionnaire la plus récente
3.3 Appariement de motifs par mappage
_3.4 API standard pour les types de mappage
3.5 Gestion automatique des clés inexistantes
_3.6 Variantes de dictionnaire
3.7 Cartographie immuable
_3.8 Vue du dictionnaire
_3.9 Impact de l'opération de dictionnaire
3.10 Théorie des ensembles
3.11 L'impact du fonctionnement des ensembles
_3.12 Opérations ensemblistes sur les vues de dictionnaire
_3.13 Résumé
CHAPITRE 4 Texte et octets Unicode
4.1 Modifications apportées à ce chapitre
_4.2 Problèmes de texte
_4,3 octets Connaissances de base
_4.4 Encodeur/décodeur de base
_4.5 Comprendre les problèmes d'encodage/décodage
_4.6 Gestion des fichiers texte
4.7 Comparaison correcte avec la normalisation Unicode
4.8 Tri de texte Unicode
Base de données Unicode _4.9
_4.10 API str et bytes en mode double
_4.11 Résumé
CHAPITRE 5 Générateur de classes de données
5.1 Modifications apportées à ce chapitre
5.2 Vue d'ensemble du générateur de classes de données
_5.3 Tuples nommés classiques
_5.4 Tuples avec des types de données et des noms d'éléments spécifiés
_5.5 Connaissances de base des indications de type de données
_5.6 @dataclass explication supplémentaire
_5.7 Les classes de données comme signes de mauvaise conception
_5.8 Correspondance de modèles d'instances de classe
_5.9 Résumé
CHAPITRE 6 Références d'objets, mutabilité et recyclage
6.1 Modifications apportées à ce chapitre
_6.2 Concept de variable
_6.3 Identité, homogénéité et alias
6.4 La copie par défaut est une copie superficielle
_6.5 Paramètres de fonction comme références
_6.6 suppression et collecte des déchets
_6.7 Le secret de Python pour manipuler les types immuables
_6.8 Résumé
[PARTIE 2 : Les fonctions en tant qu'objets]
CHAPITRE 7 Les fonctions en tant qu'objets de première classe
7.1 Modifications apportées à ce chapitre
7.2 Traiter les fonctions comme des objets
7.3 Fonctions de haut niveau
7.4 Fonctions anonymes
_7.5 Neuf objets appelables
_7.6 Types appelables définis par l'utilisateur
7.7 Des paramètres positionnels aux paramètres composés uniquement de mots-clés
_7.8 Packages pour la programmation fonctionnelle
_7.9 Résumé
CHAPITRE 8 Indications sur les types de données dans les fonctions
8.1 Modifications apportées à ce chapitre
8.2 Aperçu de la saisie progressive
8.3 Exemple de saisie progressive
8.4 Types de données définis par les opérations prises en charge
_8.5 Types de données pouvant être utilisés dans les annotations
_8.6 Annotations pour les paramètres positionnels et variables
8.7 Typage imparfait et tests robustes
_8.8 Résumé
CHAPITRE 9 Décorateurs et fermetures
_9.1 Modifications apportées à ce chapitre
_9.2 Notions de base en décoration
_9.3 Quand Python exécute-t-il un décorateur ?
_9.4 Décorateur d'inscription
_9.5 Règles de portée des variables
_9.6 Fermeture
_9.7 Déclaration non locale
_9.8 Implémentation d'un décorateur simple
_9.9 Décorateurs fournis par la bibliothèque standard
_9.10 Décorateurs paramétrés
Résumé du 9.11
CHAPITRE 10 Modèles de conception de fonctions de première classe
_10.1 Modifications apportées à ce chapitre
_10.2 Étude de cas : Stratégies de refactorisation
_10.3 Modèles de commandes
_10.4 Résumé
[PARTIE 3 Classes et protocoles]
CHAPITRE 11 Objets Pythoniques
_11.1 Modifications apportées à ce chapitre
_11.2 Représentation des objets
_11.3 La résurrection de la classe vectorielle
_11.4 Constructeur alternatif
_11.5 @classmethod et @staticmethod
_11.6 Sortie formatée
_11.7 Vecteur hachable 2D
_11.8 Prise en charge de la correspondance des modèles de localisation
_11.9 Vector2d Version n° 3 : Code complet
11.10 Propriétés privées et protégées en Python
_11.11 Sauvegarde de la mémoire avec __slots__
_11.12 Surcharge des propriétés de classe
Résumé du 11.13
CHAPITRE 12 SÉQUENCE MÉTHODES SPÉCIALES
_12.1 Modifications apportées à ce chapitre
_12.2 Vecteur : type de séquence défini par l’utilisateur
_12.3 Version vectorielle n° 1 : compatible avec Vector2D
12.4 Protocoles et typage dynamique
_12.5 Version vectorielle n° 2 : Séquences découpables
_12.6 Version vectorielle n° 3 : Accès dynamique aux propriétés
_12.7 Version vectorielle n° 4 : Hachage et plus rapide ==
_12.8 Version vectorielle n° 5 : Mise en forme
_12.9 Résumé
CHAPITRE 13 Interfaces, protocoles et classes de base abstraites
_13.1 Classification de type
_13.2 Modifications apportées à ce chapitre
_13.3 Deux protocoles
_13.4 Typage Duck
_13.5 Dactylographie de l'oie
_13.6 Protocole statique
_13.7 Résumé
CHAPITRE 14 L'héritage : avantages et inconvénients
_14.1 Modifications apportées à ce chapitre
_14.2 super() fonction
_14.3 Problèmes liés à l'héritage intégré
14.4 Héritage multiple et ordre de résolution des méthodes
_14.5 Classe Mixin
_14.6 L'héritage multiple dans le monde réel
_14.7 Gestion des successions
_14.8 Résumé
CHAPITRE 15 : Un examen plus approfondi des indications de type de données
_15.1 Modifications apportées à ce chapitre
_15.2 Signature surchargée
_15.3 Dictionnaire typé
_15.4 Conversion de type de données
_15.5 Lecture des indications de type de données à l'exécution
_15.6 Implémentation d'une classe générique
_15.7 Variabilité
_15.8 Mise en œuvre d'un protocole statique générique
_15.9 Résumé
CHAPITRE 16 Surcharge de l'opérateur
_16.1 Modifications apportées à ce chapitre
_16.2 Principes de base de la surcharge des opérateurs
_16.3 Opérateurs unaires
_16.4 Surcharge de l'opérateur + pour l'addition vectorielle
_16.5 Surcharge de l'opérateur * pour la multiplication scalaire
_16.6 Utilisation de @ comme opérateur infixe
_16.7 Résumé des opérateurs arithmétiques
_16.8 Opérateurs de comparaison enrichis
_16.9 Opérateurs d'affectation composée
_16.10 Résumé
[PARTIE 4 FLUX DE CONTRÔLE]
CHAPITRE 17 Itérateurs, générateurs et coroutines classiques
_17.1 Modifications apportées à ce chapitre
_17.2 Séquence de mots
_17.3 Pourquoi les séquences sont répétables : la fonction iter()
_17.4 Itérations et itérateurs
_17.5 Classe de phrase avec __iter__( )
_17.6 Phrase tranquille
_17.7 Quand les expressions génératrices sont-elles appropriées ?
_17.8 Générateur de séquences arithmétiques
_17.9 Fonctions génératrices dans la bibliothèque standard
_17.10 Fonctions qui réduisent le nombre d'itérations
_17.11 Sous-générateur utilisant le rendement de
_17.12 Itération générique
_17.13 Coroutines classiques
_17.14 Résumé
CHAPITRE 18 avec, correspondance, sinon blocs
_18.1 Modifications apportées à ce chapitre
_18.2 Gestionnaires de contexte et le bloc
_18.3 Étude de cas : Correspondance de motifs dans lis.py
_18.4 bloc else après l'instruction if
_18.5 Résumé
CHAPITRE 19 : Le modèle de concurrence de Python
_19.1 Modifications apportées à ce chapitre
_19.2 Aperçu
_19.3 Bref glossaire des termes
_19.4 Version concurrente Hello World
_19.5 L'impact réel de la GIL
_19.6 Pool de processus personnalisés
_19.7 Python dans un monde multicœur
_19.8 Résumé
CHAPITRE 20 Exécuteurs simultanés
_20.1 Modifications apportées à ce chapitre
20.2 Téléchargement simultané de contenu Web
_20.3 Exécution de processus avec concurrent.futures
_20.4 Exécuteur.map() Expérience
_20.5 Téléchargement pendant l'impression et gestion des erreurs
_20.6 Résumé
CHAPITRE 21 Programmation asynchrone
_21.1 Modifications apportées à ce chapitre
_21.2 Quelques définitions
_21.3 Exemple asyncio : recherche de domaine
_21.4 Nouveau concept : L'attente
_21.5 Téléchargement avec asyncio et HTTPX
_21.6 Gestionnaire de contexte asynchrone
_21.7 Programme de téléchargement asyncio amélioré
_21.8 Déléguer une tâche à un exécutant
_21.9 Écriture d'un serveur asyncio
_21.10 Itération asynchrone et types d'itération asynchrone
_21.11 Asyncio Au-delà d'Asyncio : Curiosité
_21.12 Spécification des indications de type de données pour les objets asynchrones
_21.13 Vérités et idées fausses sur les méthodes asynchrones
_21.14 Résumé
[PARTIE 5 Métaprogrammation]
CHAPITRE 22 Attributs et propriétés dynamiques
_22.1 Modifications apportées à ce chapitre
_22.2 Manipulation des données à l'aide de propriétés dynamiques
_22.3 Propriétés calculées
_22.4 Utilisation des propriétés pour valider les attributs
_22.5 Comprendre correctement les propriétés
_22.6 Implémentation d'une fabrique de propriétés
_22.7 Gestion de la suppression des attributs
_22.8 Propriétés et fonctions clés pour le traitement des attributs
_22.9 Résumé
CHAPITRE 23 Descripteurs d'attributs
_23.1 Modifications apportées à ce chapitre
_23.2 Exemple de descripteur : Validation des attributs
_23.3 Descripteurs prioritaires et non prioritaires
_23.4 La méthode est un descripteur
_23.5 Conseils pour l'utilisation des descripteurs
_23.6 Chaînes de documentation des descripteurs et remplacement des suppressions
_23.7 Résumé
CHAPITRE 24 : Métaprogrammation de classe
_24.1 Modifications apportées à ce chapitre
_24.2 Les classes en tant qu'objets
_24.3 type : Usine de classe intégrée
_24.4 Fonctions de fabrique de classes
_24.5 Introduction de __init_subclass__()
_24.6 Amélioration des classes à l'aide de décorateurs de classe
_24.7 Comparaison du temps d'importation et du temps d'exécution
_24.8 Notions de base de la métaclasse
_24.9 Solution de métaclasse pour Checked
_24.10 Considérations relatives aux métaclasses
_24.11 Exploration des métaclasses avec __prepare__()
_24.12 Résumé des clés de la métaclasse
_24.13 Résumé
Image détaillée

Avis de l'éditeur
Rendez Python encore meilleur !
Le guide pratique ultime pour maîtriser les fonctionnalités avancées de Python
De nombreux programmeurs tentent encore d'adapter Python à des modèles qu'ils ont appris d'autres langages, et ne parviennent donc souvent pas à explorer pleinement les caractéristiques et la philosophie uniques de Python.
Ce livre présente aux développeurs une méthode de codage plus efficace et similaire à Python.
Nous présenterons les fonctionnalités uniques de Python, telles que le dépaquetage de tuples et les descripteurs, et explorerons comment les fonctions en tant qu'objets de première classe influencent les modèles de conception.
Il vous permet de tirer pleinement parti des puissantes fonctionnalités de Python en utilisant uniquement les bibliothèques de base, sans dépendre de packages externes.
Basé sur l'environnement postérieur à Python 3.10, cet outil sera d'une grande aide aux développeurs pour écrire du code efficace en tirant parti des fonctionnalités ajoutées.
Mise à jour dans la deuxième édition
● Intègre les principales mises à jour de Python 3
○ Python 3.6+ : classe de base abstraite collections.abc.Collection et f-string
○ Python 3.9+ : Syntaxe de décompression améliorée pour les types dict, fonctionnalité de fusion de mappages améliorée
○ Python 3.10+ : Nouvelle fonctionnalité de correspondance de motifs, méthode de mappage utilisant match/case
● Améliorations générales
○ Mettez à jour tout le contenu vers la dernière version
○ Ajout de contenu de méthode spéciale pour prendre en charge la programmation asynchrone et de nouvelles fonctionnalités.
○ Ajouter du contenu au générateur de classes de données
○ Ajout de contenu pour deux fonctions appelables (coroutines natives et générateurs asynchrones)
○ Ajout d'indications de type de données aux signatures de fonctions
○ Ajout de contenu sur le système de typage progressif de Python
○ Ajout de contenu sur les trois méthodes de concurrence améliorées de Python (threads, processus et coroutines).
○ Mise en avant des nouvelles fonctionnalités de métaprogrammation de Python
Public cible
● Développeurs Python souhaitant maîtriser Python
● Les professionnels qui souhaitent approfondir leurs connaissances sur les fonctionnalités supplémentaires de Python
● Les développeurs qui souhaitent apprendre à écrire du code plus efficace et similaire à celui de Python
Cette édition révisée est divisée en cinq grandes parties, chacune traitant d'un sujet différent, et se présente sous la forme d'un livre court.
● Structures de données : séquences, dictionnaires, ensembles, Unicode, classes de données
● Les fonctions en tant qu'objets : fonctions de première classe, modèles de conception associés, indications de type dans les déclarations de fonctions
● Classes et protocoles : composition, héritage, mixins, interfaces, surcharge d’opérateurs, protocoles, typage statique
● Flux de contrôle : gestionnaire de contexte, générateur, coroutine, async/await, pool de threads/processus
● Métaprogrammation : Nouveaux points d’accroche de métaprogrammation de classe qui remplacent ou simplifient les propriétés, les descripteurs de propriétés, les décorateurs de classe et les métaclasses.
Le guide pratique ultime pour maîtriser les fonctionnalités avancées de Python
De nombreux programmeurs tentent encore d'adapter Python à des modèles qu'ils ont appris d'autres langages, et ne parviennent donc souvent pas à explorer pleinement les caractéristiques et la philosophie uniques de Python.
Ce livre présente aux développeurs une méthode de codage plus efficace et similaire à Python.
Nous présenterons les fonctionnalités uniques de Python, telles que le dépaquetage de tuples et les descripteurs, et explorerons comment les fonctions en tant qu'objets de première classe influencent les modèles de conception.
Il vous permet de tirer pleinement parti des puissantes fonctionnalités de Python en utilisant uniquement les bibliothèques de base, sans dépendre de packages externes.
Basé sur l'environnement postérieur à Python 3.10, cet outil sera d'une grande aide aux développeurs pour écrire du code efficace en tirant parti des fonctionnalités ajoutées.
Mise à jour dans la deuxième édition
● Intègre les principales mises à jour de Python 3
○ Python 3.6+ : classe de base abstraite collections.abc.Collection et f-string
○ Python 3.9+ : Syntaxe de décompression améliorée pour les types dict, fonctionnalité de fusion de mappages améliorée
○ Python 3.10+ : Nouvelle fonctionnalité de correspondance de motifs, méthode de mappage utilisant match/case
● Améliorations générales
○ Mettez à jour tout le contenu vers la dernière version
○ Ajout de contenu de méthode spéciale pour prendre en charge la programmation asynchrone et de nouvelles fonctionnalités.
○ Ajouter du contenu au générateur de classes de données
○ Ajout de contenu pour deux fonctions appelables (coroutines natives et générateurs asynchrones)
○ Ajout d'indications de type de données aux signatures de fonctions
○ Ajout de contenu sur le système de typage progressif de Python
○ Ajout de contenu sur les trois méthodes de concurrence améliorées de Python (threads, processus et coroutines).
○ Mise en avant des nouvelles fonctionnalités de métaprogrammation de Python
Public cible
● Développeurs Python souhaitant maîtriser Python
● Les professionnels qui souhaitent approfondir leurs connaissances sur les fonctionnalités supplémentaires de Python
● Les développeurs qui souhaitent apprendre à écrire du code plus efficace et similaire à celui de Python
Cette édition révisée est divisée en cinq grandes parties, chacune traitant d'un sujet différent, et se présente sous la forme d'un livre court.
● Structures de données : séquences, dictionnaires, ensembles, Unicode, classes de données
● Les fonctions en tant qu'objets : fonctions de première classe, modèles de conception associés, indications de type dans les déclarations de fonctions
● Classes et protocoles : composition, héritage, mixins, interfaces, surcharge d’opérateurs, protocoles, typage statique
● Flux de contrôle : gestionnaire de contexte, générateur, coroutine, async/await, pool de threads/processus
● Métaprogrammation : Nouveaux points d’accroche de métaprogrammation de classe qui remplacent ou simplifient les propriétés, les descripteurs de propriétés, les décorateurs de classe et les métaclasses.
SPÉCIFICATIONS DES PRODUITS
- Date d'émission : 30 novembre 2024
Nombre de pages, poids, dimensions : 1 064 pages | 183 × 235 × 60 mm
- ISBN13 : 9791169211772
- ISBN10 : 1169211771
Vous aimerez peut-être aussi
카테고리
Langue coréenne
Langue coréenne