1. Introduction

Version:École Normale Supérieure de Lyon - DSM-L3 du 18/07/16, 18:41
Auteur:Yannick Copin <ipnl.in2p3.fr>

1.1. Pourquoi un module d’analyse scientifique ?

  • Pour générer ses données, p.ex. simulations numériques, contrôle d’expériences;
  • Pour traiter ses données, i.e. supprimer les artefacts observationnels;
  • Pour analyser ses données, i.e. extraire les quantités physiques pertinentes, p.ex. en ajustant un modèle;
  • Pour visualiser ses données, et appréhender leur richesse multi-dimensionnelle;
  • Pour présenter ses données, p.ex. générer des figures prêtes à publier.

Ce module s’addresse donc avant tout aux futurs expérimentateurs, phénoménologistes ou théoriciens voulant se frotter à la réalité des observations.

1.2. Pourquoi Python ?

Les principales caractéristiques du langage Python:

  • Syntaxe simple et lisible: langage pédagogique et facile à apprendre et à utiliser;
  • Langage interprété: utilisation interactive ou script exécuté ligne à ligne, pas de processus de compilation;
  • Haut niveau: typage dynamique, gestion active de la mémoire, pour une plus grande facilité d’emploi;
  • Multi-paradigme: langage impératif et/ou orienté objet, selon les besoins et les capacités de chacun;
  • Logiciel libre et ouvert, largement répandu (multi-plateforme) et utilisé (forte communauté);
  • Riche bibliothèque standard: Batteries included;
  • Riche bibliothèque externe: de nombreuses bibliothèques de qualité, dans divers domaines (y compris scientifiques), sont déjà disponibles.

L’objectif est bien d’apprendre un seul langage de haut niveau, permettant tout aussi bien des analyses rapides dans la vie de tous les jours – quelques lignes de code en intéractif – que des programes les plus complexes (projets de plus de 100000 lignes).

Liens:

1.3. Organisation des TDs

  • TD1: Introduction, types de base, structures de programmation
  • TD2: Chaînes de caractères, objets itérables, fonctions, bibliothèques
  • TD3: Exceptions, classes, entrées-sorties
  • TD4: Librairie standard, révisions
  • TD5: Numpy
  • TD6: Scipy
  • TD7: Zen du python, révisions
  • TD8 et TD9: application à des exemples concrets