PYTHON : L'INTEGRALE ! Commencer, continuer avec l'Objet et devenir un expert !

C’EST DÉCIDÉ,
AUJOURD’HUI JE M’Y METS

JE PROGRAMME

En 7 jours seulement et sans (trop) d'efforts !

  • IINTRODUCTION : Préparer ses armes
    Choisir les bons outils pour s’initier à la programmation
  • VOTRE SEMAINE
  • INDEX : Le récapitulatif détaillé de toutes les notions et instructions à connaître

Cliquez sur la couverture pour découvrir le sommaire et des extraits du magazine !


Vous voulez apprendre à programmer, mais vous ne savez pas vraiment comment vous y prendre pour que cela soit à la fois instructif et amusant ? Nous avons réalisé ce hors-série pour vous !

Tout au long des pages de ce magazine, vous découvrirez de nouvelles notions qui vous seront expliquées simplement et de manière ludique avant d’être mises en pratique dans la réalisation d’un petit jeu. Nous utiliserons pour cela le « petit langage qui monte », Python, qui suivant les classements, apparaît en troisième ou quatrième position des langages les plus utilisés. Autre avantage :
ce langage est particulièrement adapté pour l’initiation à la programmation avec une écriture assez simple
et structurée.

Ce magazine ne fera pas de vous un crack de Python, son objectif est de vous donner envie de programmer, ou en tout cas, de ne pas vous en dégoûter !! De nombreuses notions, un peu complexes, seront passées sous silence... Vous serez toujours à temps de les aborder plus tard, lorsque vous aurez déjà acquis une petite expérience en programmation.

Au détour d’un forum, vous êtes déjà tombé sur des lignes du type (cos(a++)-sin(--b)==0)?return a;return b; et vous n’avez rien compris ? C’est plutôt rassurant... Vous êtes tout à fait normal ! Pas de signes cabalistiques dans ce numéro, pas d’incantations étranges à prononcer devant votre machine. Notez toutefois que les
jurons seront admis en cas d’erreur et parfois même recommandés pour sauver le matériel d’une destruction brutale et aveugle que vous pourriez regretter par la suite. Nous avons tout fait pour éviter que vous en
arriviez à de telles extrémités, mais si tel était le cas, arrêtez tout et allez prendre l’air. Vous verrez qu’en revenant vos idées seront plus claires et peut-être résoudrez-vous votre problème en quelques secondes
(ça arrive très souvent...).

Une autre solution consiste à utiliser la technique du Teddy Bear (ours en peluche en anglais) :
vous exposez votre problème à haute voix à un animal en peluche, votre animal de compagnie, votre voisine, bref... à ce qui vous passe sous la main. L’interlocuteur n’a pas besoin de comprendre ce que vous racontez (d’où l’intérêt d’utiliser un objet inerte pour ne pas paraître complètement fou) : le simple fait d’énoncer votre problème vous permet de cerner plus précisément ce qui doit être corrigé. La plupart du temps, vous n’irez pas jusqu’à la fin de la description de votre problème, vous trouverez la solution avant ! Attention toutefois à ne pas créer de nouveaux problèmes d’un autre ordre en discutant trop souvent avec la voisine ou le voisin...

Malgré tout ce qui a pu être dit précédemment, ne soyez pas trop anxieux. Ce n’est pas parce que vous allez programmer que vous allez vous retrouver instantanément transformé en geek barbu aux cheveux longs et gras, et à la tenue douteuse. Ce que l’on oublie souvent, c’est qu’il n’y a pas que des geeks,
les geekettes aussi ça existe :-)

Tristan Colombo

 

Sommaire :

Introduction

p. 06   Préparer ses armes

Jour 1

p. 18   Afficher des caractères

Jour 2

p. 32   Saisir des données

Jour 3

p. 42   Les tests de déplacement

Jour 4

p. 56   De nouveaux labyrinthes

Jour 5

p. 72   Ennemis, combats et trésors

Jour 6

p. 88   Interface console améliorée

Jour 7

p. 102   Passage en mode graphique

Index

p. 116   Index des instructions
p. 124   Index des notions

 

Et maintenant, j’apprends la ...

Programmation 
orientée objet

... en 6 jours !

COMPATIBLE WINDOWS / MAC OS X / LINUX


Au sommaire  :

Introduction
p. 06   Les règles du jeu

Jour 1
p. 26   La carte, un objet simple

Jour 2
p. 42   Avec plusieurs cartes, on crée un jeu de cartes

Jour 3
p. 58   Quelle différence entre un jeu et un paquet de cartes ?

Jour 4
p. 70   Une même ossature, mais des jeux différents

Jour 5
p. 84   Jouer contre l'ordinateur

Jour 6
p. 94   Améliorations

Index
p. 104   Les outils autour de Python
p. 108   Index des instructions
p. 117   Index des notions
p. 122   Annexe - Les erreurs courantes


 

EDITO :

L’apprentissage de la programmation n’est pas chose aisée... d’autant plus lorsque l’on veut aborder la programmation orientée objet dans laquelle la façon de penser le code est un peu particulière. Mais vous avez décidé de vous lancer dans l’aventure et l’on ne peut que vous en féliciter !

Ce hors-série a été pensé pour des débutants et en ce sens de nombreuses notions, qui pourront paraître évidentes à certains lecteurs, seront expliquées tout au long de l’avancement d’un projet de programmation d’un petit jeu de cartes. Dans la même optique, deux annexes vous permettront de retrouver facilement les définitions des instructions et des notions essentielles. Enfin, une annexe contenant une définition des erreurs les plus courantes devrait vous être d’une grande aide pour résoudre seul(e) vos problèmes. En effet, le plus important n’est pas de savoir programmer sans erreur : si vous rencontrez un informaticien qui affirme en être capable, sachez qu’il ment. Nous faisons tous des erreurs pour diverses raisons : moment d’inattention, méconnaissance du langage, réflexion erronée, etc. Par contre, si vous savez identifier une erreur et la corriger rapidement, le monde de la programmation s’ouvrira à vous, et vous pourrez réaliser tout ce que vous souhaitez (en restant un tant soit peu raisonnable au début...).

La programmation orientée objet n’est pas une programmation facile et notre objectif sera donc mesuré : faire en sorte que vous puissiez acquérir en une semaine une « culture » de l’orienté objet, les termes et notions importants et que vous sachiez programmer de petits projets. Il faut être réaliste, vous devrez faire fructifier tout ce que vous pourrez apprendre dans ce hors-série en l’appliquant à la création de nouveaux projets pour maîtriser ce type de programmation. Bien entendu, il faudra rester raisonnable quant à la taille de ces projets, car les difficultés surgiront toujours là où on vous ne les attendez pas ! Mais c’est au prix de la résolution de tous ces petits problèmes que l’on progresse réellement.

Nous avons non seulement voulu que ce hors-série s’adresse à tous en partant du principe qu’aucun prérequis n’était fondamentalement indispensable, mais également que vous puissiez l’utiliser facilement quel que soit le système d’exploitation que vous employez. Ainsi, absolument tout ce qui est indiqué dans ce hors-série fonctionne sur les trois plateformes Windows, Linux et Mac OS X !

Je vous laisse maintenant vous plonger dans l’apprentissage des divers aspects de la programmation orientée objet. La programmation en elle-même peut-être vue comme un jeu... donc amusez-vous bien !

Tristan Colombo


PYTHON

LE GUIDE POUR DEVENIR UN VÉRITABLE EXPERT DU LANGAGE !

  • Modules généraux
  • Visualisation des données
  • Modules spécifiques
  • Accélération des traitements

Cliquez sur la couverture pour découvrir le sommaire et des extraits du magazine !


L’un des innombrables intérêts de Python vient de la mise à disposition des développeurs d’un nombre impressionnant de modules. Mais pour pouvoir les utiliser, encore faut-il savoir qu’ils existent et comment ils fonctionnent...

Dans le domaine du calcul scientifique, il y a des modules qui sont très connus tels que numpy, scipy ou encore matplotlib et d’autres qui le sont moins, mais qui le mériteraient !
Par exemple, matplotlib n’est pas vraiment adapté à la 3D, alors que vispy, basé sur OpenGL, peut être bien plus performant dans ce domaine.

Et que dire du cloisonnement entre les différents domaines d’applications ? Pourquoi ne pourrait-on pas appliquer des méthodes de traitement issues de la génétique à l’astrophysique, des traitements de fichiers de l’astrophysique à la neuropsychologie ? Il faudrait jeter des passerelles entre tous ces domaines, de manière à ce que chacun puisse profiter des avancées méthodologiques effectuées dans des disciplines qui lui sont étrangères.

Enfin, lorsque l’on dispose de matériel performant, que l’on écrit un programme dans lequel les méthodes de calcul les plus efficaces ont été employées et que ce dernier reste lent, il peut être intéressant d’employer tous les microprocesseurs disponibles pour augmenter la puissance
de calcul...

Pour ces différentes raisons, nous avons conçu ce numéro hors-série suivant quatre axes qui nous paraissent essentiels :
- les modules généraux : pour bien comprendre comment faire du calcul scientifique en Python ;
- la visualisation : pour pouvoir analyser et représenter graphiquement des données ;
- les modules spécifiques : qui permettront d’avoir un aperçu de ce que l’on peut faire avec des modules dédiés à l’astrophysique, la bioinformatique et l’apprentissage ;
- et, pour finir, l’accélération des traitements : car lorsque l’on veut traiter un volume de données important, l’écriture d’un algorithme efficace n’est parfois pas suffisant. Cette partie permettra de voir comment tirer parti des processeurs multi-cœurs et même des processeurs des cartes graphiques !

L’ensemble des informations que vous trouverez dans cet ouvrage devrait donc vous permettre d’améliorer vos programmes existants, de les rendre plus efficaces et, dans le même temps, d’avoir une vision plus large de ce qu’il est possible de faire en Python pour vos développements futurs.
À vous de devenir des experts de Python !

La rédaction

Pour toujours plus d’informations sur le langage Python, retrouvez la rubrique
qui lui est dédiée chaque mois dans GNU/Linux Magazine !

 

Sommaire :

1 - Modules généraux

p. 08   Les bases du calcul scientifique avec NumPy
p. 22   SciPy, le couteau suisse du calcul scientifique
p. 30   Python et le format HDF5

2 - Visualisation

p. 44   Visualisation scientifique avec Matplotlib
p. 56   Vispy : visualisation interactive haute performance

3 - Modules spécifiques

p. 72   Astropy : une bibliothèque Python pour l'astrophysique, mais pas que...
p. 84   La bioinformatique avec Biopython
p. 98   Scikit-learn : l'apprentissage statistique sans douleur

4 - Accélération des traitements

p. 108   Programmation parallèle
p. 118   Parallélisez vos traitements en les confiant à votre GPU !

Acheter ce pack

Un des produits n'est plus disponible. Ce pack ne peut pas être acheté

Nouveaux produits