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

Cryptographie : débuter par la pratique grâce à picoCTF

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

L’apprentissage de la cryptographie n’est pas toujours évident lorsqu’on souhaite le faire par la pratique. Lorsque l’on débute, il existe cependant des challenges accessibles qui permettent de découvrir ce monde passionnant sans avoir de connaissances mathématiques approfondies en la matière. C’est le cas de picoCTF, qui propose une série d’épreuves en cryptographie avec une difficulté progressive et à destination des débutants !

Game & Watch : utilisons judicieusement la mémoire

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

Au terme de l'article précédent [1] concernant la transformation de la console Nintendo Game & Watch en plateforme de développement, nous nous sommes heurtés à un problème : les 128 Ko de flash intégrés au microcontrôleur STM32 sont une ressource précieuse, car en quantité réduite. Mais heureusement pour nous, le STM32H7B0 dispose d'une mémoire vive de taille conséquente (~ 1,2 Mo) et se trouve être connecté à une flash externe QSPI offrant autant d'espace. Pour pouvoir développer des codes plus étoffés, nous devons apprendre à utiliser ces deux ressources.

Raspberry Pi Pico : PIO, DMA et mémoire flash

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

Le microcontrôleur RP2040 équipant la Pico est une petite merveille et malgré l'absence de connectivité wifi ou Bluetooth, l'étendue des fonctionnalités intégrées reste très impressionnante. Nous avons abordé le sujet du sous-système PIO dans un précédent article [1], mais celui-ci n'était qu'une découverte de la fonctionnalité. Il est temps à présent de pousser plus loin nos expérimentations en mêlant plusieurs ressources à notre disposition : PIO, DMA et accès à la flash QSPI.

Body