Les chinois ont célébré, il y a peu, leur nouvel an. L’année du serpent a commencé. Et si vous en profitiez pour vous former à Python ? Le Pi de Raspberry Pi c’est pour Python, vous vous souvenez ? alors je vous propose un choix d’ouvrages, gratuits ou payants, pour vous initier à ce langage…
La première version de Python a été créée en 1989, par Guido van Rossum. Il travaillait sur le projet d’un autre langage (ABC) aux Pays-Bas, et c’est avec l’expérience acquise qu’il a pu créer Python (pendant ses vacances de Noël…). Comme tous (ou presque) les logiciels libres, celui-ci a un animal pour mascotte. Pas trop parce que Guido aimait les serpents mais surtout parce qu’il était fan des Monty Pythons !
Parmi les nombreux bouquins/revues/ebooks consacrés à Python, vous trouverez ci-dessous une sélection qui vous permettra de démarrer avec la langage de notre framboise314.
A visiter impérativement, le site de l’afpy (Association Francophone Python) qui met à votre disposition des tutoriels, un forum et des offres d’emploi de développeurs Python.
Et puis n’oubliez pas The MagPi, dans lequel vous trouvez tous les mois une double page d’initiation à Python, ainsi que dans la version française de The MagPi…
Bien entendu si vous utilisez d’autres sources d’initiation à Python, vous pouvez les mentionner dans les commentaires pour en faire profiter les lecteurs.
Sur le site http://inforef.be/swi/python.htm l’ouvrage « Apprendre à programmer avec Python » de Gérard Swinnen est disponible en téléchargement gratuit. Conçu à l’origine pour les élèves de l’enseignement secondaire belge, ce cours expérimental s’efforce de présenter l’apprentissage de la programmation sous une forme attrayante, avec de nombreux exemples et exercices graphiques. Les codes sources sont également téléchargeables. Le sommaire est très détaillé et vous permettra de vous faire une bonne idée du contenu de cet ouvrage…
Au sommaire :
Préface.
- Pour le professeur qui souhaite un support de cours.
- Choisir un langage de programmation.
- Distribution de Python.
À l’école des sorciers.
- Boîtes noires et pensée magique.
- Magie blanche, magie noire.
- Langage machine, langage de programmation.
- Compilation et interprétation.
- Mise au point d’un programme.
Données et variables.
- Noms de variables et mots réservés.
- Affectation.
- Typage.
- Opérateurs et expressions.
- Priorité des opérations.
- Composition.
Contrôle du flux d’exécution.
- Séquence d’instructions.
- Exécution conditionnelle.
- Opérateurs de comparaison.
- Blocs d’instructions. Instructions imbriquées.
- Quelques règles de syntaxe Python.
- Boucles.
- Réaffectation.
- Premiers scripts, ou : comment conserver nos programmes ?
Principaux types de données.
- Les listes (première approche).
Fonctions.
- Interaction avec l’utilisateur.
- Importer un module de fonctions.
- Véracité/fausseté d’une expression.
- Définir une fonction.
- Variables locales, variables globales.
- « Vraies » fonctions et procédures.
- Utilisation des fonctions dans un script.
- Valeurs par défaut des paramètres.
- Arguments avec étiquettes.
Interfaces graphiques avec Tkinter.
- Programmes pilotés par des événements.
- Les classes de widgets Tkinter.
- Contrôler la disposition des widgets.
- Animation. Récursivité.
Manipuler des fichiers.
- Écriture et lecture séquentielle dans un fichier.
- Gestion des exceptions : les instructions try – except – else.
Approfondir les structures de données.
- Les chaînes de caractères.
- Les listes.
- Les tuples.
- Les dictionnaires.
Classes, objets, attributs.
- Passage d’objets comme arguments.
- Objets composés d’objets.
- Objets comme valeurs de retour d’une fonction.
Classes, méthodes, héritage.
- La méthode « constructeur ».
- Espaces de noms des classes et instances.
- Héritage et polymorphisme.
- Modules contenant des bibliothèques de classes.
Classes et interfaces graphiques.
- Boutons radio. Cadres.
- Widgets composites.
- Barres d’outils – expressions lambda.
- Fenêtres avec menus.
Analyse de programmes concrets.
Gestion d’une base de données.
- Une base de données simple avec SQLite.
- Ébauche d’un logiciel client pour PostgreSQL.
Applications web.
- Pages web interactives.
- Un serveur web en pur Python !
- Un site web interactif.
Imprimer avec Python.
- Utiliser des modules Python 2.
- Construire des documents PDF avec ReportLab.
- Documents de plusieurs pages, gestion des images et des paragraphes.
- Intégration dans une application web.
Communications à travers un réseau et multithreading.
- Les sockets.
- Construction d’un serveur et d’un client élémentaires.
- Gérer plusieurs tâches en parallèle avec les threads.
- Connexions de plusieurs clients en parallèle.
- Jeu des bombardes, version réseau.
- Utilisation de threads pour optimiser les animations.
Installation (Windows, Linux, et Mac OS).
Solutions des exercices.
Index.
Revue publiée en février 2012, LINUX PRATIQUE HORS SERIE N°23 est dédié à la programmation avec Python, niveau débutant et intermédiaire.
Introduction et notions de base
- p. 4 Python, c’est quoi ?
- p. 7 Les bases de Python
Les bonnes pratiques
- p. 18 Le slicing et les structures de liste
- p. 24 Les fonctions et les modules
- p. 30 Analyser des chaînes de caractères à l’aide des expressions régulières
- p. 36 Utiliser les arguments de la ligne de commandes
La gestion des fichiers
- p. 44 Manipulation de fichiers en Python
- p. 48 Lire et écrire des fichiers XML
- p. 51 Créer et exploiter des archives avec Python
La programmation orientée objet
- p. 56 La programmation orientée objet en Python – épisode 1 : la théorie
- p. 59 La programmation orientée objet en Python – épisode 2 : la pratique
Cas pratiques
- p. 64 Rédiger et envoyer un e-mail avec Python 3.2
- p. 70 Du SQL dans vos fichiers : le module sqlite3
- p. 77 Le Python qui jouait à la bataille navale
Revue publiée en mars 2013, LINUX MAGAZINE FRANCE HORS SÉRIE Python avancé s’adresse à des programmeurs de niveau intermédiaire et expert.
Cette revue devrait être disponible en kiosque et chez votre marchand de journaux jusque fin avril 2013. Profitez en pour la feuilleter, et même si vous n’avez pas encore démarré la programmation en Python, ça peut être un investissement que vous utiliserez plus tard.
Au sommaire :
Au sommaire de ce numéro :
L’ENVIRONNEMENT DE PYTHON
- p. 04 Tirer le meilleur des interpréteurs interactifs
- p. 12 Les environnements virtuels, ou comment vous y retrouver sans suivre un lapin blanc ?
- p. 18 Des scripts en mode CLI
- p .27 Manger des papayes, c’est bien. Distribuer votre code sur PyPI, c’est mieux !
TECHNIQUES AVANCÉES
- p. 32 Comprendre et utiliser les décorateurs
- p. 39 Maîtriser l’utilisation des itérateurs
- p. 46 La compréhension de listes
- p. 49 Analyse de l’opcode Python avec le module dis
- p. 55 Déboguer en toute simplicité avec pdb
- p. 59 Tests unitaires
- p. 62 Documentation de code avec Sphinx
MODULES À CONNAÎTRE
- p. 68 Introduction au module abc
- p. 72 Générer proprement des messages de débogage avec le module logging
- p. 78 Un moteur de templates extrêmement puissant : Jinja2
Un ouvrage vendu (36€ la version livre + la version électronique) par la librairie ENI, présente les fondamentaux du langage. En général, les bouquins de ENI sont « carrés » et bien construits. Ci-dessous un extrait du site ENI de présentation de ce livre (pub gratuite !). Les sources sont téléchargeables en ligne (rubrique : Caractéristiques)
Ce livre sur les fondamentaux du langage Python s’adresse à tout professionnel de l’informatique, ingénieur, étudiant, enseignant ou même autodidacte qui souhaite maîtriser ce langage très abouti. Il couvre un périmètre relativement large, détaille tout le cœur du langage et du traitement de données et ouvre des perspectives importantes sur tout ce que Python permet de faire (de la création d’un site web au développement de jeux en passant par la conception d’une interface graphique).
La première partie du livre détaille les atouts de Python pour répondre aux besoins des entreprises quel que soit le domaine informatique concerné. La seconde partie porte sur les fondamentaux du langage : les notions sont présentées progressivement avec des exemples de code qui illustrent chaque propos. L’auteur a souhaité que le lecteur atteigne une autonomie réelle dans son apprentissage, avec pour chaque notion présentée deux objectifs distincts : permettre à celui qui ne connaît pas la notion de se l’approprier correctement, notamment en respectant son rôle, et permettre à celui qui la connaît de trouver des angles d’attaques originaux pour aller le plus loin possible dans son exploitation. Cette première partie, qui porte donc sur le cœur du langage, est résolument tournée vers la branche 3 de Python. Néanmoins, lorsqu’elles existent, l’auteur présente les différences avec la branche antérieure de Python.
La troisième partie permet de voir comment utiliser Python pour résoudre des problématiques métiers et donc, comment utiliser tout ce qu’il y a autour de Python (protocoles, serveurs, images, …). Dans cette partie, le fil conducteur est la fonctionnalité et non pas le module ; chaque chapitre se concentre sur la manière d’exploiter une fonctionnalité par l’utilisation d’un ou de plusieurs modules et présente une méthodologie, mais n’est pas centré sur une description anatomique des modules eux-mêmes.
Enfin, la dernière partie de l’ouvrage est un vaste tutoriel qui permet de mettre en pratique, dans un cadre professionnel, tout ce qui a été vu précédemment en créant une application qui couvre tous les domaines courants du développement (Données, Web, Interface graphique …) et ainsi de présenter des solutions efficaces de développements utilisant Python.
Le code source de cette dernière partie est intégralement téléchargeable sur www.editions-eni.fr pour permettre au lecteur de tester le programme et de le modifier à sa guise de manière à faire ses propres expériences.
Les chapitres du livre :
Avant-propos – Python dans le paysage informatique – Présentation de Python – Pourquoi choisir Python – Installer son environnement de développement – Algorithmique de base – Déclarations – Modèle objet – Types de données et algorithmes appliqués – Motifs de conception – Manipulation de données – Génération de contenu – Programmation parallèle – Programmation système et réseau – Bonnes pratiques – Créer une application web en 30 minutes – Créer une application console en 10 minutes – Créer une application graphique en 20 minutes – Créer un jeu en 30 minutes avec PyGame – Introduction à Grok en 10 minutes – Annexes
Bonjour,
merci pour cette info.
Il y a aussi:
« Apprenez à programmer en Python »
http://boutique.siteduzero.com/boutique-614-561-apprenez-a-programmer-en-python.html
et à paraître « Programmation Pyhton »
http://www.amazon.fr/gp/product/2212133405/ref=s9_simh_gw_p14_d0_i2?pf_rd_m=A1X6FK5RDHNB96&pf_rd_s=center-2&pf_rd_r=14KEZNJ7B9Z97P1BSMP8&pf_rd_t=101&pf_rd_p=312233167&pf_rd_i=405320
Et aussi pour Django:
http://www.amazon.fr/Programmation-Django-applications-professionnelles-python/dp/2212134150/ref=pd_sim_sbs_b_6
Bien cordialement,
encore merci pour ce super site web pour la framboise.
Bonne journée.
Olivier.
Je pense qu’une petite référence à l’excellent http://www.diveintopython.net/ s’impose dans cet article. Selon moi c’est Le guide par definition
Eh bien voila qui est fait!
j’ajoute que le lien vers le .pdf est http://www.diveintopython.net/download/diveintopython-pdf-5.4.zip mais que la version française a été retirée par son auteur qui la juge dépassée…
Cordialement
François