
Exploration de CPython
Description
Introduction au livre
Comprendre le fonctionnement interne de Python au niveau de l'interpréteur
Comprendre le fonctionnement de Python au niveau de l'interpréteur vous permettra de tirer pleinement parti de ses fonctionnalités et d'optimiser vos applications.
Dans « À la découverte de CPython », nous explorons les rouages internes de Python et apprenons à compiler du code source dans l’interpréteur Python.
Ce livre explique le fonctionnement interne des composants Python tels que les listes, les dictionnaires et les générateurs à travers des exercices pratiques afin de vous aider à mieux comprendre comment Python fonctionne réellement.
Comprendre le fonctionnement de Python au niveau de l'interpréteur vous permettra de tirer pleinement parti de ses fonctionnalités et d'optimiser vos applications.
Dans « À la découverte de CPython », nous explorons les rouages internes de Python et apprenons à compiler du code source dans l’interpréteur Python.
Ce livre explique le fonctionnement interne des composants Python tels que les listes, les dictionnaires et les générateurs à travers des exercices pratiques afin de vous aider à mieux comprendre comment Python fonctionne réellement.
- Vous pouvez consulter un aperçu du contenu du livre.
Aperçu
indice
Chapitre 1 : Obtenir le code source CPython
1.1 Ce qui est inclus dans le code source
Chapitre 2 : Mise en place de l’environnement de développement
2.1 Éditeur et environnement de développement intégré
2.2 Configuration de Visual Studio
2.3 Configuration de Visual Studio Code
-2.3.1 Installation
-2.3.2 Extensions recommandées
-2.3.3 Utilisation de la navigation et de l'expansion avancées du code
-2.3.4 Configuration des tâches et des exécutables
2.4 Configuration de JetBrains CLion
2.5 Configuration de Vim
2.6 Résumé
Chapitre 3 : Compilation de CPython
3.1 Compilation de CPython sur macOS
3.2 Compilation de CPython sous Linux
3.3 Installation de CPython modifié
3.4 Introduction à la réalisation
3.5 Cibles de création CPython
Cible de compilation -3.5.1
-3.5.2 Cible de test
-3.5.3 Cible de nettoyage
-3.5.4 Autres cibles
3.6 Compilation de CPython sous Windows
-3.6.1 Installation des dépendances
-3.6.2 Compilation à partir de l'invite de commandes
-3.6.3 Compilation dans Visual Studio
3.7 Optimisation basée sur les profils
3.8 Résumé
Chapitre 4 : Langage et grammaire Python
4.1 Pourquoi CPython est écrit en C et non en Python
4.2 Spécification du langage Python
-4.2.1 Référence du langage Python
-4.2.2 Fichier de grammaire
4.3 Générateur d'analyseurs syntaxiques
4.4 Régénérer la grammaire
-4.4.1 Jeton
4.5 Résumé
Chapitre 5 : Composition et entrée
5.1 État de la configuration
-5.1.1 Configuration d'initialisation du dictionnaire
-5.1.2 Liste des fichiers sources associés
-5.1.3 Structure de configuration d'exécution
-5.1.4 Configuration de l'environnement d'exécution via la ligne de commande
-5.1.5 Vérification des indicateurs d'exécution
5.2 Configuration de la construction
5.3 Création d'un module à partir d'une entrée
-5.3.1 Liste des fichiers sources associés
-5.3.2 Lecture des fichiers et des entrées
-5.3.3 Entrez la chaîne de commande
-5.3.4 Entrée du module local
-5.3.5 Entrée standard ou entrée de fichier de script
-5.3.6 Code bytecode compilé en entrée
5.4 Résumé
Chapitre 6 : Analyse lexicale et syntaxique
6.1 Création du CST
6.2 Analyseur lexical-tokeniseur
-6.2.1 Liste des fichiers sources associés
-6.2.2 Saisie des données du fichier dans l'analyseur
-6.2.3 Flux analyseur-tokeniseur
6.3 Arbre de syntaxe abstraite
-6.3.1 Liste des fichiers sources associés
-6.3.2 Visualisation de l'AST avec InstaVis
-6.3.3 Compilation AST
6.4 Termes importants
6.5 Exemple : Ajout de l’opérateur de comparaison « presque égal »
6.6 Résumé
Chapitre 7 Compilateur
7.1 Création d'une instance de compilateur
7.2 Indicateurs futurs et indicateurs du compilateur
-7.2.1 Drapeau du futur
-7.2.2 Liste des futures options pour Python 3.9
-7.2.3 Options du compilateur
7.3 Tableau des symboles
-7.3.1 Liste des fichiers sources associés
-7.3.2 Structure de la table des symboles
-7.3.3 module symtable
-7.3.4 Implémentation de la table des symboles
7.4 Processus de compilation principal
-7.4.1 Utilisation du compilateur en Python
-7.4.2 API du compilateur C
-7.4.3 commande
-7.4.4 Bloc de cadre de base
-7.4.5 Commandes et arguments
7.5 Assemblage
-7.5.1 Structures de l'assembleur
-7.5.2 Algorithme de recherche en profondeur dans l'assembleur
API C assembleur -7.5.3
-7.5.4 Recherche en profondeur
7.6 Création d'un objet de code
7.7 Visualisation des objets de code avec InstaBiz
7.8 Exemple : Implémentation de l’opérateur « presque égal »
7.9 Résumé
Chapitre 8 Boucle d'évaluation
8.1 Création d'un état de thread
-8.1.1 État du thread
-8.1.2 Liste des fichiers sources associés
8.2 Création d'un objet cadre
-8.2.1 Objet cadre
-8.2.2 Liste des fichiers sources associés
-8.2.3 API d'initialisation des objets Frame
8.3 Exécution de la trame
-8.3.1 Suivi de l'exécution des trames
8.4 Pile de valeurs
-8.4.1 Exemple d'instruction bytecode : BINARY_OR
-8.4.2 Simulation de pile de valeurs
-8.4.3 Effet d'empilement
8.5 Exemple : Ajout d’un élément à une liste
8.6 Résumé
Chapitre 9 Gestion de la mémoire
9.1 Allocation de mémoire
-9.1.1 Allocation de mémoire statique
-9.1.2 Allocation automatique de mémoire
-9.1.3 Allocation dynamique de mémoire
9.2 Conception du système de gestion de la mémoire de Python
-9.2.1 Domaine d'allocation
-9.2.2 Allocateur de mémoire
9.3 Allocateur de mémoire CPython
-9.3.1 Liste des fichiers sources associés
-9.3.2 Termes importants
-9.3.3 Blocs, Piscines, Arènes
API d'allocation de blocs -9.3.4
-9.3.5 Utilisation de l'API de débogage Python
9.4 Objets et domaine de l'allocateur de mémoire PyMem
-9.4.1 Utilisation du module tracemalloc
9.5 Domaine d'allocation de mémoire de bas niveau
9.6 Attribution de domaines personnalisés
9.7 Vérificateur d'allocation de mémoire personnalisé
-9.7.1 AddressSanitizer
-9.7.2 MemorySanitizer
-9.7.3 UndefinedBehaviorSanitizer
9.8 PyArea Memory Arena
-9.8.1 Liste des fichiers associés
9.9 Comptage de référence
-9.9.1 Processus de création de variables en Python
-9.9.2 Incrémentation du compteur de références
-9.9.3 Décrémentation du compteur de références
-9.9.4 Comptage des références dans les opérations sur bytecode
-9.9.5 Avantages des compteurs de références CPython
9.10 Collecte des ordures ménagères
-9.10.1 Liste des fichiers sources associés
-9.10.2 Conception du collecteur de déchets
-9.10.3 Types de conteneurs admissibles à la collecte des ordures ménagères
-9.10.4 Objets et variabilité pouvant être exclus du suivi
-9.10.5 Algorithme de récupération des déchets
-9.10.6 Collecte des déchets générationnelle
-9.10.7 Utilisation de l'API du ramasse-miettes en Python
Résumé du 11 septembre
Chapitre 10 Parallélisme et concurrence
10.1 Modèles de parallélisme et de concurrence
10.2 Structure du processus
10.3 Exécution parallèle utilisant le multiprocesseur
-10.3.1 Processus forkés dans POSIX
-10.3.2 Multiprocessing sous Windows
-10.3.3 package multiprocessing
-10.3.4 Liste des fichiers sources associés
-10.3.5 Processus de génération et de bifurcation
-10.3.6 Échange de données à l'aide de files d'attente et de canaux
-10.3.7 État partagé entre les processus
-10.3.8 Exemples d'application
-10.3.9 Résumé du multitraitement
10.4 Multithreading
-10.4.1 GIL
-10.4.2 Liste des fichiers sources associés
-10.4.3 Démarrage d'un thread Python
-10.4.4 État du thread
-10.4.5 Threads POSIX
-10.4.6 Threads Windows
-10.4.7 Résumé du multithreading
10.5 Programmation asynchrone
Générateur 10.6
-10.6.1 Structure du générateur
-10.6.2 Liste des fichiers sources associés
-10.6.3 Création d'un générateur
-10.6.4 Mise en marche du générateur
10.7 Coroutines
-10.7.1 Liste des fichiers sources associés
-10.7.2 Boucle d'événements
-10.7.3 Exemple
10.8 Générateurs asynchrones
10.9 Sous-interprètes
-10.9.1 Liste des fichiers sources associés
-10.9.2 Exemple
Résumé du 10.10
Chapitre 11 Objets et types
11.1 Types intégrés
11.2 Objets et types d'objets mutables
11.3 type type
-11.3.1 Type Slock
-11.3.2 Utilisation du type C
-11.3.3 Dictionnaire des propriétés de type
11.4 types booléens et longs
-11.4.1 type long
-11.4.2 Exemple
11.5 Type de chaîne Unicode
-11.5.1 Liste des fichiers sources associés
-11.5.2 Gestion des points de code Unicode
-11.5.3 UTF-8 vs. UTF-16
-11.5.4 Type de caractères larges
-11.5.5 Marque d'ordre d'octet
-11.5.6 paquet d'encodages
Module de codec -11.5.7
-11.5.8 Implémentation du codec
-11.5.9 Codec interne
-11.5.10 Exemple
11.6 Types de dictionnaires
-11.6.1 Hachage
-11.6.2 Liste des fichiers sources associés
-11.6.3 Structure du dictionnaire
-11.6.4 Recherche
11.7 Résumé
Chapitre 12 Bibliothèque standard
12.1 Modules Python
12.2 Modules qui mélangent Python et C
Chapitre 13 Suite de tests
13.1 Exécution d'une suite de tests sous Windows
13.2 Exécution de suites de tests sous Linux et macOS
13.3 Indicateurs de test
13.4 Exécution de tests spécifiques uniquement
Module de test 13.5
13.6 Outil de test
13.7 Résumé
Chapitre 14 Débogage
14.1 Gestionnaire de plantage
14.2 Compilation avec prise en charge du débogage
-14.2.1 Windows
-14.2.2 macOS ou Linux
14.3 Utilisation de LLDB sur macOS
-14.3.1 Ajout d'un point d'arrêt
-14.3.2 Exécution de CPython
-14.3.3 Connexion à un interpréteur CPython en cours d'exécution
-14.3.4 Utilisation des points d'arrêt
-14.3.5 extension cpython_lldb
14.4 Utilisation de GDB
-14.4.1 Ajout d'un point d'arrêt
-14.4.2 Exécution de CPython
-14.4.3 Connexion à un interpréteur CPython en cours d'exécution
-14.4.4 Utilisation des points d'arrêt
-14.4.5 extension pthon-gdb
14.5 Utilisation du débogueur Visual Studio
-14.5.1 Ajout d'un point d'arrêt
-14.5.2 Exécution du débogueur
-14.5.3 Utilisation des points d'arrêt
14.6 Utilisation du débogueur CLion
-14.6.1 Débogage des applications Make
-14.6.2 Connexion du débogueur
-14.6.3 Ajout d'un point d'arrêt
-14.6.4 Utilisation des points d'arrêt
14.7 Résumé
Chapitre 15 : Analyse comparative, profilage et suivi de l’exécution
15.1 Exécution de micro-benchmarks avec timeit
-15.1.1 exemple timeit
15.2 Exécution de tests de performance avec la suite de tests de performance Python
-15.2.1 Exécution du test de performance
-15.2.2 Comparaison des indicateurs de performance
15.3 Profilage du code Python avec cProfile
-15.3.1 Exportation des résultats du profil
15.4 Profilage du code C avec DTrace
-15.4.1 Liste des fichiers sources associés
-15.4.2 Installation de DTrace
-15.4.3 Compilation avec prise en charge de DTrace
-1.5.4.4 Utilisation de DTrace dans CLion
-15.4.5 Exemple DTrace
15.5 Résumé
Chapitre 16 : Prochaines étapes
16.1 Écriture d'extensions C pour CPython
16.2 Amélioration des applications Python
16.3 Contribution au projet CPython
16.3.1 Catégorisation des problèmes
16.3.2 Soumettre une demande de fusion pour corriger un problème
16.3.3 Contribuer autrement
Annexe A : Guide du programmeur Python pour le C
Annexe B : L’avenir de CPython à travers les problèmes de performance
1.1 Ce qui est inclus dans le code source
Chapitre 2 : Mise en place de l’environnement de développement
2.1 Éditeur et environnement de développement intégré
2.2 Configuration de Visual Studio
2.3 Configuration de Visual Studio Code
-2.3.1 Installation
-2.3.2 Extensions recommandées
-2.3.3 Utilisation de la navigation et de l'expansion avancées du code
-2.3.4 Configuration des tâches et des exécutables
2.4 Configuration de JetBrains CLion
2.5 Configuration de Vim
2.6 Résumé
Chapitre 3 : Compilation de CPython
3.1 Compilation de CPython sur macOS
3.2 Compilation de CPython sous Linux
3.3 Installation de CPython modifié
3.4 Introduction à la réalisation
3.5 Cibles de création CPython
Cible de compilation -3.5.1
-3.5.2 Cible de test
-3.5.3 Cible de nettoyage
-3.5.4 Autres cibles
3.6 Compilation de CPython sous Windows
-3.6.1 Installation des dépendances
-3.6.2 Compilation à partir de l'invite de commandes
-3.6.3 Compilation dans Visual Studio
3.7 Optimisation basée sur les profils
3.8 Résumé
Chapitre 4 : Langage et grammaire Python
4.1 Pourquoi CPython est écrit en C et non en Python
4.2 Spécification du langage Python
-4.2.1 Référence du langage Python
-4.2.2 Fichier de grammaire
4.3 Générateur d'analyseurs syntaxiques
4.4 Régénérer la grammaire
-4.4.1 Jeton
4.5 Résumé
Chapitre 5 : Composition et entrée
5.1 État de la configuration
-5.1.1 Configuration d'initialisation du dictionnaire
-5.1.2 Liste des fichiers sources associés
-5.1.3 Structure de configuration d'exécution
-5.1.4 Configuration de l'environnement d'exécution via la ligne de commande
-5.1.5 Vérification des indicateurs d'exécution
5.2 Configuration de la construction
5.3 Création d'un module à partir d'une entrée
-5.3.1 Liste des fichiers sources associés
-5.3.2 Lecture des fichiers et des entrées
-5.3.3 Entrez la chaîne de commande
-5.3.4 Entrée du module local
-5.3.5 Entrée standard ou entrée de fichier de script
-5.3.6 Code bytecode compilé en entrée
5.4 Résumé
Chapitre 6 : Analyse lexicale et syntaxique
6.1 Création du CST
6.2 Analyseur lexical-tokeniseur
-6.2.1 Liste des fichiers sources associés
-6.2.2 Saisie des données du fichier dans l'analyseur
-6.2.3 Flux analyseur-tokeniseur
6.3 Arbre de syntaxe abstraite
-6.3.1 Liste des fichiers sources associés
-6.3.2 Visualisation de l'AST avec InstaVis
-6.3.3 Compilation AST
6.4 Termes importants
6.5 Exemple : Ajout de l’opérateur de comparaison « presque égal »
6.6 Résumé
Chapitre 7 Compilateur
7.1 Création d'une instance de compilateur
7.2 Indicateurs futurs et indicateurs du compilateur
-7.2.1 Drapeau du futur
-7.2.2 Liste des futures options pour Python 3.9
-7.2.3 Options du compilateur
7.3 Tableau des symboles
-7.3.1 Liste des fichiers sources associés
-7.3.2 Structure de la table des symboles
-7.3.3 module symtable
-7.3.4 Implémentation de la table des symboles
7.4 Processus de compilation principal
-7.4.1 Utilisation du compilateur en Python
-7.4.2 API du compilateur C
-7.4.3 commande
-7.4.4 Bloc de cadre de base
-7.4.5 Commandes et arguments
7.5 Assemblage
-7.5.1 Structures de l'assembleur
-7.5.2 Algorithme de recherche en profondeur dans l'assembleur
API C assembleur -7.5.3
-7.5.4 Recherche en profondeur
7.6 Création d'un objet de code
7.7 Visualisation des objets de code avec InstaBiz
7.8 Exemple : Implémentation de l’opérateur « presque égal »
7.9 Résumé
Chapitre 8 Boucle d'évaluation
8.1 Création d'un état de thread
-8.1.1 État du thread
-8.1.2 Liste des fichiers sources associés
8.2 Création d'un objet cadre
-8.2.1 Objet cadre
-8.2.2 Liste des fichiers sources associés
-8.2.3 API d'initialisation des objets Frame
8.3 Exécution de la trame
-8.3.1 Suivi de l'exécution des trames
8.4 Pile de valeurs
-8.4.1 Exemple d'instruction bytecode : BINARY_OR
-8.4.2 Simulation de pile de valeurs
-8.4.3 Effet d'empilement
8.5 Exemple : Ajout d’un élément à une liste
8.6 Résumé
Chapitre 9 Gestion de la mémoire
9.1 Allocation de mémoire
-9.1.1 Allocation de mémoire statique
-9.1.2 Allocation automatique de mémoire
-9.1.3 Allocation dynamique de mémoire
9.2 Conception du système de gestion de la mémoire de Python
-9.2.1 Domaine d'allocation
-9.2.2 Allocateur de mémoire
9.3 Allocateur de mémoire CPython
-9.3.1 Liste des fichiers sources associés
-9.3.2 Termes importants
-9.3.3 Blocs, Piscines, Arènes
API d'allocation de blocs -9.3.4
-9.3.5 Utilisation de l'API de débogage Python
9.4 Objets et domaine de l'allocateur de mémoire PyMem
-9.4.1 Utilisation du module tracemalloc
9.5 Domaine d'allocation de mémoire de bas niveau
9.6 Attribution de domaines personnalisés
9.7 Vérificateur d'allocation de mémoire personnalisé
-9.7.1 AddressSanitizer
-9.7.2 MemorySanitizer
-9.7.3 UndefinedBehaviorSanitizer
9.8 PyArea Memory Arena
-9.8.1 Liste des fichiers associés
9.9 Comptage de référence
-9.9.1 Processus de création de variables en Python
-9.9.2 Incrémentation du compteur de références
-9.9.3 Décrémentation du compteur de références
-9.9.4 Comptage des références dans les opérations sur bytecode
-9.9.5 Avantages des compteurs de références CPython
9.10 Collecte des ordures ménagères
-9.10.1 Liste des fichiers sources associés
-9.10.2 Conception du collecteur de déchets
-9.10.3 Types de conteneurs admissibles à la collecte des ordures ménagères
-9.10.4 Objets et variabilité pouvant être exclus du suivi
-9.10.5 Algorithme de récupération des déchets
-9.10.6 Collecte des déchets générationnelle
-9.10.7 Utilisation de l'API du ramasse-miettes en Python
Résumé du 11 septembre
Chapitre 10 Parallélisme et concurrence
10.1 Modèles de parallélisme et de concurrence
10.2 Structure du processus
10.3 Exécution parallèle utilisant le multiprocesseur
-10.3.1 Processus forkés dans POSIX
-10.3.2 Multiprocessing sous Windows
-10.3.3 package multiprocessing
-10.3.4 Liste des fichiers sources associés
-10.3.5 Processus de génération et de bifurcation
-10.3.6 Échange de données à l'aide de files d'attente et de canaux
-10.3.7 État partagé entre les processus
-10.3.8 Exemples d'application
-10.3.9 Résumé du multitraitement
10.4 Multithreading
-10.4.1 GIL
-10.4.2 Liste des fichiers sources associés
-10.4.3 Démarrage d'un thread Python
-10.4.4 État du thread
-10.4.5 Threads POSIX
-10.4.6 Threads Windows
-10.4.7 Résumé du multithreading
10.5 Programmation asynchrone
Générateur 10.6
-10.6.1 Structure du générateur
-10.6.2 Liste des fichiers sources associés
-10.6.3 Création d'un générateur
-10.6.4 Mise en marche du générateur
10.7 Coroutines
-10.7.1 Liste des fichiers sources associés
-10.7.2 Boucle d'événements
-10.7.3 Exemple
10.8 Générateurs asynchrones
10.9 Sous-interprètes
-10.9.1 Liste des fichiers sources associés
-10.9.2 Exemple
Résumé du 10.10
Chapitre 11 Objets et types
11.1 Types intégrés
11.2 Objets et types d'objets mutables
11.3 type type
-11.3.1 Type Slock
-11.3.2 Utilisation du type C
-11.3.3 Dictionnaire des propriétés de type
11.4 types booléens et longs
-11.4.1 type long
-11.4.2 Exemple
11.5 Type de chaîne Unicode
-11.5.1 Liste des fichiers sources associés
-11.5.2 Gestion des points de code Unicode
-11.5.3 UTF-8 vs. UTF-16
-11.5.4 Type de caractères larges
-11.5.5 Marque d'ordre d'octet
-11.5.6 paquet d'encodages
Module de codec -11.5.7
-11.5.8 Implémentation du codec
-11.5.9 Codec interne
-11.5.10 Exemple
11.6 Types de dictionnaires
-11.6.1 Hachage
-11.6.2 Liste des fichiers sources associés
-11.6.3 Structure du dictionnaire
-11.6.4 Recherche
11.7 Résumé
Chapitre 12 Bibliothèque standard
12.1 Modules Python
12.2 Modules qui mélangent Python et C
Chapitre 13 Suite de tests
13.1 Exécution d'une suite de tests sous Windows
13.2 Exécution de suites de tests sous Linux et macOS
13.3 Indicateurs de test
13.4 Exécution de tests spécifiques uniquement
Module de test 13.5
13.6 Outil de test
13.7 Résumé
Chapitre 14 Débogage
14.1 Gestionnaire de plantage
14.2 Compilation avec prise en charge du débogage
-14.2.1 Windows
-14.2.2 macOS ou Linux
14.3 Utilisation de LLDB sur macOS
-14.3.1 Ajout d'un point d'arrêt
-14.3.2 Exécution de CPython
-14.3.3 Connexion à un interpréteur CPython en cours d'exécution
-14.3.4 Utilisation des points d'arrêt
-14.3.5 extension cpython_lldb
14.4 Utilisation de GDB
-14.4.1 Ajout d'un point d'arrêt
-14.4.2 Exécution de CPython
-14.4.3 Connexion à un interpréteur CPython en cours d'exécution
-14.4.4 Utilisation des points d'arrêt
-14.4.5 extension pthon-gdb
14.5 Utilisation du débogueur Visual Studio
-14.5.1 Ajout d'un point d'arrêt
-14.5.2 Exécution du débogueur
-14.5.3 Utilisation des points d'arrêt
14.6 Utilisation du débogueur CLion
-14.6.1 Débogage des applications Make
-14.6.2 Connexion du débogueur
-14.6.3 Ajout d'un point d'arrêt
-14.6.4 Utilisation des points d'arrêt
14.7 Résumé
Chapitre 15 : Analyse comparative, profilage et suivi de l’exécution
15.1 Exécution de micro-benchmarks avec timeit
-15.1.1 exemple timeit
15.2 Exécution de tests de performance avec la suite de tests de performance Python
-15.2.1 Exécution du test de performance
-15.2.2 Comparaison des indicateurs de performance
15.3 Profilage du code Python avec cProfile
-15.3.1 Exportation des résultats du profil
15.4 Profilage du code C avec DTrace
-15.4.1 Liste des fichiers sources associés
-15.4.2 Installation de DTrace
-15.4.3 Compilation avec prise en charge de DTrace
-1.5.4.4 Utilisation de DTrace dans CLion
-15.4.5 Exemple DTrace
15.5 Résumé
Chapitre 16 : Prochaines étapes
16.1 Écriture d'extensions C pour CPython
16.2 Amélioration des applications Python
16.3 Contribution au projet CPython
16.3.1 Catégorisation des problèmes
16.3.2 Soumettre une demande de fusion pour corriger un problème
16.3.3 Contribuer autrement
Annexe A : Guide du programmeur Python pour le C
Annexe B : L’avenir de CPython à travers les problèmes de performance
Image détaillée
.jpg)
Avis de l'éditeur
Ce que ce livre couvre
* Configuration de l'environnement de développement
* Lire et explorer le code source
* Compilation du code source CPython
* Comprendre les fonctionnalités de gestion de la mémoire de CPython
* Étendre le code Python avec le parallélisme et la concurrence
* Ajouter de nouvelles fonctionnalités aux types de base
* Exécution de la suite de tests
* Débogage de code C et Python
* Contribuez à CPython
Je recommande ce livre à tous ceux qui veulent essayer de « pirater » CPython.
— Guido van Rossum, créateur de Python
Il existe de nombreux livres qui enseignent le langage Python lui-même, mais aucun n'expliquait le fonctionnement interne de Python aux curieux.
- Milan Patel, vice-président (grande banque d'investissement)
Ce livre fournit des informations essentielles à tous ceux qui souhaitent approfondir leurs connaissances en Python.
- Dan Bader, auteur de "Clever Python Tricks"
* Configuration de l'environnement de développement
* Lire et explorer le code source
* Compilation du code source CPython
* Comprendre les fonctionnalités de gestion de la mémoire de CPython
* Étendre le code Python avec le parallélisme et la concurrence
* Ajouter de nouvelles fonctionnalités aux types de base
* Exécution de la suite de tests
* Débogage de code C et Python
* Contribuez à CPython
Je recommande ce livre à tous ceux qui veulent essayer de « pirater » CPython.
— Guido van Rossum, créateur de Python
Il existe de nombreux livres qui enseignent le langage Python lui-même, mais aucun n'expliquait le fonctionnement interne de Python aux curieux.
- Milan Patel, vice-président (grande banque d'investissement)
Ce livre fournit des informations essentielles à tous ceux qui souhaitent approfondir leurs connaissances en Python.
- Dan Bader, auteur de "Clever Python Tricks"
SPÉCIFICATIONS DES PRODUITS
- Date de publication : 23 septembre 2022
Nombre de pages, poids, dimensions : 364 pages | 610 g | 172 × 225 × 18 mm
- ISBN13 : 9788966263677
- ISBN10 : 8966263674
Vous aimerez peut-être aussi
카테고리
Langue coréenne
Langue coréenne