Linux Pratique Hors-série N°
Numéro
23

La programmation avec Python

Temporalité
Février/Mars 2012
Image v3
La programmation avec Python
Article mis en avant

Résumé
Vous avez entendu parler de Python depuis de nombreuses années maintenant... mais vous ne connaissez toujours rien de ce langage ? Pourquoi un nouveau langage est-il apparu, à quels usages est-il destiné et surtout qu'est-ce que vous allez pouvoir en faire ? Dans cet article ouvrant ce hors-série consacré à Python, ni code, ni syntaxe, uniquement une présentation des fondamentaux historiques et philosophiques de Python.

Dans ce numéro...


Après une introduction purement théorique, passons à la pratique et voyons quelle est la syntaxe de base utilisée en Python. Cet article constitue une introduction généraliste à la syntaxe de Python. Nous aborderons de nombreux sujets sans rentrer dans les détails, ces détails étant abordés dans les articles suivants. Nous commencerons par configurer un environnement de développement en installant des versions de Python (au moins un Python 2.x et un Python 3.x) et un éditeur de code avant d'appréhender les commandes Python en partant du type des données jusqu'à la structure d'un programme complet. Mais pour débuter, nous avons besoin de loger un Python dans notre ordinateur...
Cet article constitue un approfondissement sur le fonctionnement des listes, des tuples et des dictionnaires. Nous apporterons une attention particulière à la technique du « slicing » ou « découpage en tranches ».
Un code sans fonctions comporte beaucoup trop de redondances, de copier/coller. Les fonctions permettent d'écrire des programmes beaucoup plus synthétiques et modulaires. Comment écrire des fonctions en Python et comment les organiser en bibliothèques ? C'est ce que nous allons voir dans cet article.
C'est une problématique que l'on retrouve fréquemment : comment analyser des chaînes de caractères ? Comment vérifier qu'elles correspondent au format attendu ? Comment récupérer des informations précises mais non connues à l'avance ? Les expressions régulières sont là pour répondre à ce problème.
Dans les systèmes Linux, il est d'usage de pouvoir utiliser une application en mode commande, même si cette dernière dispose d'une interface graphique. Ce mécanisme permet aux utilisateurs confirmés de s'affranchir de la lourdeur inhérente aux interfaces graphiques (déplacements et clics souris répétés) au profit d'une utilisation certes moins élégante visuellement, mais plus pratique et rapide. Parfois l'interface graphique ne représente aucun intérêt et ne sera pas développée. Dans tous les cas, il va falloir être capable de lire les arguments de la ligne de commandes.
Les fichiers représentent un élément essentiel du développement informatique, permettant de conserver et retrouver des informations. Tout langage permet d'accéder à des fichiers et Python ne déroge pas à la règle...
De nos jours, tout le monde connaît, au moins de nom, le format XML. Ce format de fichiers permet de décrire des données de manière structurée et il peut être utilisé de manière très simple en Python. Je vous propose dans cet article de découvrir ou de redécouvrir de façon sommaire le format XML et la manière d'analyser un fichier XML pour en retirer des informations à l'aide de XPath. Nous pourrons ensuite utiliser ces techniques depuis Python grâce à la librairie lxml.
Dans cet article, nous allons découvrir comment manipuler les fichiers compressés de type gzip/bzip2 ainsi que les archives de type zip/tar.
En Python, tout est objet : lorsque vous manipulez une simple variable, il s'agit en fait d'un objet. Ce langage intègre donc naturellement la possibilité de développer une architecture orientée objet. Dans cette première partie, je vous présente la théorie de la programmation orientée objet vue depuis Python.
Après avoir vu (rapidement !) la théorie de la POO, passons à la mise en pratique.Dans la première partie de cet article nous ne nous sommes attachés qu'à la compréhension d'un mécanisme général. Python est un langage très simple, mais également très complexe lorsque l'on veut vraiment savoir ce que l'on fait. J'ai l'habitude de dire que c'est un langage de « détails » : si vous voulez vraiment programmer en Python, il faudra avoir vu au moins une fois ces « détails » de syntaxe pour ne pas passer des heures par la suite à rechercher l'origine d'un bug... Qui n'en est finalement pas un, mais plutôt une incompréhension du langage. La POO en Python n'échappe pas à cette règle : prenez du temps pour bien comprendre ce qui se passe en machine. En plus, Python fournit un outil formidable pour ce genre de tests : l'interpréteur interactif !
Justement qualifié par la devise « batteries included », le langage Python offre une large boîte à outils permettant de créer et d'envoyer facilement des e-mails. Dans cet article, nous présenterons le module email disponible dans la bibliothèque standard. Utiliser ce dernier vous permettra d'écrire des programmes complets d'envoi d'e-mail sans avoir à requérir à une bibliothèque externe, cette dernière entraînant inévitablement pour le programmeur les contraintes liées aux dépendances.
Vous cherchez à stocker des informations dans un fichier plat ou en mémoire vive ? Vous souhaitez également pouvoir en extraire des informations à l'aide du langage de requêtes le plus puissant aujourd'hui, à savoir SQL ? Présent dans la puissante bibliothèque standard du langage Python, le module sqlite3 vous offre la possibilité de traiter un fichier ou un espace mémoire exactement comme une base de données...
Python est un langage disposant de types de données hors du commun et de possibilités algorithmiques qui, couplés à l’excellente bibliothèque Pygame, en font un excellent outil à mettre en avant pour le développement de jeux. Python permet de réaliser du développement rapide, mais est également une excellente solution de prototypage, les temps de développement pouvant être divisés par dix par rapport à la référence que reste C++. Cet article a pour ambition de présenter une vision de quelques problématiques usuelles en développement de jeux.

Magazines précédents

Tout pour optimiser votre système
Linux-Pratique Hors-série N°22
Tout pour optimiser votre système
Partage de fichiers
Linux-Pratique Hors-série N°21
Partage de fichiers
Passez à la ligne de commandes !
Linux-Pratique Hors-série N°20
Passez à la ligne de commandes !
9 cas où la ligne de commandes est indispensable
Linux-Pratique Hors-série N°18
9 cas où la ligne de commandes est indispensable

Les derniers articles Premiums

Les derniers articles Premium

Sécurisez vos applications web : comment Symfony vous protège des menaces courantes

Magazine
Marque
Contenu Premium
Spécialité(s)
Résumé

Les frameworks tels que Symfony ont bouleversé le développement web en apportant une structure solide et des outils performants. Malgré ces qualités, nous pouvons découvrir d’innombrables vulnérabilités. Cet article met le doigt sur les failles de sécurité les plus fréquentes qui affectent même les environnements les plus robustes. De l’injection de requêtes à distance à l’exécution de scripts malveillants, découvrez comment ces failles peuvent mettre en péril vos applications et, surtout, comment vous en prémunir.

Bash des temps modernes

Magazine
Marque
Contenu Premium
Spécialité(s)
Résumé

Les scripts Shell, et Bash spécifiquement, demeurent un standard, de facto, de notre industrie. Ils forment un composant primordial de toute distribution Linux, mais c’est aussi un outil de prédilection pour implémenter de nombreuses tâches d’automatisation, en particulier dans le « Cloud », par eux-mêmes ou conjointement à des solutions telles que Ansible. Pour toutes ces raisons et bien d’autres encore, savoir les concevoir de manière robuste et idempotente est crucial.

Présentation de Kafka Connect

Magazine
Marque
Contenu Premium
Spécialité(s)
Résumé

Un cluster Apache Kafka est déjà, à lui seul, une puissante infrastructure pour faire de l’event streaming… Et si nous pouvions, d’un coup de baguette magique, lui permettre de consommer des informations issues de systèmes de données plus traditionnels, tels que les bases de données ? C’est là qu’intervient Kafka Connect, un autre composant de l’écosystème du projet.

Le combo gagnant de la virtualisation : QEMU et KVM

Magazine
Marque
Contenu Premium
Spécialité(s)
Résumé

C’est un fait : la virtualisation est partout ! Que ce soit pour la flexibilité des systèmes ou bien leur sécurité, l’adoption de la virtualisation augmente dans toutes les organisations depuis des années. Dans cet article, nous allons nous focaliser sur deux technologies : QEMU et KVM. En combinant les deux, il est possible de créer des environnements de virtualisation très robustes.

Body