Programmation Python - Conception et optimisation


Découvrez dans le livre 'Programmation Python : Conception et optimisation' de Tarek Ziadé, les fondamentaux et les techniques avancées pour maîtriser Python, du développement web à l'optimisation de code. Idéal pour les débutants et les développeurs expérimentés


pages: 594, views: 732

Tarek Ziadé

Tarek Ziadé est directeur technique d’Ingeniweb (AlterWay), leader de la gestion de contenu Open Source. Il intervient dans des conférences nationales et internationales et a fondé l’association afpy.org. Il contribue non seulement au développement de Python mais également à d’autres projets communautaires.

Préface de Stephan Richter

Choisi par Google comme l’un de ses langages piliers et utilisé dans des projets d’envergure tels que YouTube, Python est omniprésent dans les applications web modernes. Open Source et portable, sa modularité et son orientation objet permettent de créer des applications de toutes tailles, génériques et maintenables.

Python : de la syntaxe à l’optimisation

Python est tout indiqué pour le développement d’applications web : serveurs de contenu, moteurs de recherche, agents intelligents, objets distribués… Il est également performant pour réaliser des scripts d’administration système ou d’analyse de fichiers textuels, pour gérer l’accès à des bases de données, pour servir de langage glu entre plusieurs applications, réaliser des applications graphiques classiques, etc. Pour autant, le développeur n’exploitera vraiment sa puissance qu’en ayant acquis une certaine culture. C’est ce que ce livre permet d’acquérir par la description de techniques éprouvées dans tous les grands projets de développement en Python. Au-delà de la prise en main (installation des environnements d’exécution et de développement, rappels de syntaxe avec les primitives et la bibliothèque standard), cet ouvrage aborde les bonnes pratiques de développement Python, depuis les conventions de nommage et les design patterns objet les plus courants jusqu’à la programmation dirigée par les tests et l’optimisation de code. Enrichie en nouveaux cas pratiques et exercices, cette édition mise à jour pour Python 2.6 détaille également le script de migration 2to3 vers Python 3 et présente la bibliothèque ctypes qui permet de manipuler les structures de données en C/C++.

Au sommaire

Pourquoi Python? Pour quels usages?
- Administration système
- Prototypage d’application : maquettes d’interfaces, de bibliothèques
- Applications web et de gestion
- Installation des environnements d’exécution et de développement
- Installation sous Linux, MS-Windows et Mac OS X
- Tests et scripts de démarrage. Mode interactif
- Choisir un éditeur
- Syntaxe
- Commentaires
- Modèles de données
- Littéraux
- Types et opérateurs
- Indentation
- Structures conditionnelles : if, for..in, while
- Structures du langage
- Fonctions
- Contexte d’exécution
- Directives return et global
- Docstrings
- Classes
- Espaces de noms
- Héritage
- Attributs privés
- Méthodes de comparaison
- Method Resolution Order
- Constructeur statique
- Surcharge de type
- Slots et decorators
- Modules
- Import
- Reload
- Paquets
- Exceptions
- Listes
- Constructeurs et itérateurs
- Primitives du langage
- Exceptions : erreurs et avertissements
- Conventions de codage
- Blocs et espacement
- Conventions de nommage
- Structure d’un module
- Choix des noms : longueur, unicité, expressivité
- Fonctions de la bibliothèque standard
- Interaction avec l’interpréteur
- Accès au système
- Utilitaires fichiers
- Outils de compression
- Programmation réseau
- Persistance
- Conversion, transformation de données
- Calculs numériques
- Structures de données
- Les modules itertools, re, Tkinter et lib2to3
- Cas pratiques
- Programmation dirigée par les tests
- Tests unitaires et fonctionnels
- Unittests, doctests et Coverage
- Intégration d’un projet dans l’environnement
- Le futur de PyUnit
- Optimisation du code
- Profiling
- Amélioration des performances
- Code Patterns, multithreading
- Pool, ctypes
- Tests de performance en continu
- Programmation orientée objet
- Typage, classification et encapsulation
- Héritage et polymorphisme
- Relations entre objets
- Design patterns orientés objet
- Singleton et Borg, Observer, Chain of responsability, Proxy…
- Annexes
- Histoire de Python
- Bibliothèques tierces
- Sites, flux RSS, blogs…

À qui s’adresse cet ouvrage ?
- Au développeur souhaitant s’initier à un nouveau langage et réaliser des applications web;
- Aux développeurs Python souhaitant aller plus loin dans les bonnes pratiques de développement (programmation orientée objet, performances, tests unitaires…).

Programmation Python
Conception et optimisation
2e édition Programmation Python Python