Introduction à la programmation avec Python (In2Py)

Logo

Module In2Py-- Bases de la programmation en Python

IMSP | Institut de Mathématiques et Sciences Physiques

Bienvenu(e) au cours d’introduction à python. Vous trouverez sur ce site toutes les informations et ressources nécessaires.


Ce cours vise à vous enseigner les bases de développement de logiciels professionnels dans le contexte de la science. Le matériel est destiné à être utilisé dans un cours universitaire (à tout niveau où le matériel semble approprié, en fonction de votre formation!), mais peut également être utilisé pour l’auto-apprentissage. Nous nous concentrons uniquement sur Python 3. Ce cours, à la fois minimaliste et pratique, vous permettra de découvrir rapidement les concepts essentiels de la programmation en Python. Il faut dire que ça vaut la peine de s’intéresser à Python, c’est un langage qui sera forcément présent dans l’écosystème informatique des années à venir.

Pour ce cours, des discussions LIVE! peuvent se faire sur Gitter. Vous pourrez toujours joindre la discussion et y poser vos questions, même quand le cours sera terminé. Pour ce faire, vous aurez besoin d’un compte GitHub.

Synopsis

Dans ce cours, nous allons voir les bases du langage Python. Au-delà de l’apprentissage de la syntaxe du langage Python, nous aborderons quelques bases d’algorithmie, c’est-à-dire comment transformer un problème énoncé en français, en une suite d’instructions informatiques.

L’apprentissage de la programmation est un processus nécessitant un certain investissement. Ainsi, nous vous conseillons de faire un maximum d’exercices sur une base régulière afin d’acquérir certains automatismes.

À la fin du cours, vous devriez être capable d’écrire des scripts et des notebooks Jupyter:

* Identifier les usages courants du langage
* Mettre en pratique le scripting en Python
* Structurer votre code en fonction, classes et modules
* Utiliser des modules existants
* Expérimenter la programmation objet en Python.

En outre, vous apprendrez également à utiliser des modules incontournables en analyse de données (pandas, numpy, matplotlib).

Organisation des cours

Les enseignements seront donnés sous forme de cours / TP, quelques minutes de théorie en live coding seront suivies d’une mise en pratique immédiate.

À titre indicatif, nous détaillons dans la suite le découpage des différentes séances. Ce découpage est succeptible de changer en fonction du degré d’avancement de l’ensemble de la classe. N’hésitez pas à revenir régulièrement sur cette page pendant la formation.

Ressources

Votre permier ami sera certainement les cinq premières sections du tutoriel officiel de Python.

D’incroyables ressources peuvent également être trouvées à:

Si vous êtes un codeur débutant, vous pouvez consulter ces ressources d’apprentissage “Python pour les non-programmeurs”. Elles sont en Anglais.

Cahiers virtuels de cours

Vous trouverez les cahiers virtuels pour ce cours sur ce dépôt GitHub.

Le langage de programmation Python est souvent utilisé dans les domaines scientifiques aujourd’hui. C’est un langage de programmation relativement accessible et adapté aux universitaires. Dans ce cahier virtuel d’exercices, nous vous présenterons le langage et apprendrons les basiques liés à l’algorithmique. Ce cours n’attend de vous aucun prérequis de programmation.

Les avantages de Python sont nombreux. D’une part c’est sans doute le langage de script le plus utilisé au monde car on peut quasiment tout faire avec: programmation web, statistiques, machine learning, gestion de bases de données. La communauté de Python est la plus grande dans le monde de la programmation: si vous voulez quelque chose, quelqu’un l’a sûrement déjà fait.

Les sujets que nous aborderons comprennent:

Séance 1 – jeudi 17 juin : 9h00 - 16h00 HNEC.

Programme : Introduction et prise en main du Jupyter.

Notions: 00. Introduction à python, 01. Variables et affectations, 02. Chaînes de caractères.

En complément du chapitre de présentation des bases du langage Python, vous pourrez également consulter avec profit les cinq premières sections du tutoriel officiel de Python.

Séance 2 – vendredi 18 juin : 9h00 - 16h00 HNEC.

Programme : listes, dictionnaires, tuples et sets, boucles et comparaisons, tests.

Notions: 03. Objets itérables ou conteneurs, 04. Contrôle du flux d’instructions.

Séance 3 – jeudi 24 juin : 9h00 - 16h00 HNEC.

Programme : fonctions, modules et paquets, programmation orientée objet.

Notions: 05. Fonctions, Modules et Packages, 06. Classes et POO.

Évaluations

En dehors de l’examen sur table que vous ferez, 40% de votre note finale proviendra des séances de TD/TP, d’une courte présentation (thèmes d’exposé) sur l’un des sujets ci-dessous et d’un petit projet de groupe.

Une liste de thèmes d’exposé est donnée en-dessous et vous êtes appelé à en choisir au moins un que vous présenterez:

Par ordre décroissant de priorité:

Les thèmes d’exposés de priorité 0.

   - Etude des expressions régulières 
   - Les modules et méthodes de gestion de fichiers sous Python 
   - Gestion des erreurs et des exceptions

Les thèmes d’exposés de priorité 1.

Les thèmes d’exposés de priorité 2.

Les thèmes d’exposés de priorité 3.

  - Les Tests en Python 
  - Le contrôle de version avec `Git`

Les thèmes d’exposés de priorité 4.

Les thèmes d’exposés de priorité 5.

Optionnel

Les ressources données ci-dessus peuvent être de très bonnes ressources et fournissent certainement de la docmentation nécessaire dans votre investigation sur les thèmes ci-dessus proposés.

Vous pouvez choisir votre thème d’exposé en allant ici.


Python: un survol rapide

Python X ?

Nous utiserons Python 3 dans notre cours. Les versions précédentes peuvent poser des problèmes. Il y’a deux versions de Python, la 2 et la 3. La 2 n’est plus maintenue depuis 2017, il vaut donc mieux se mettre directement à la 3 (on est actuellement à la version 3.10).

Installation

Pour installer Python localement, la distribution Anaconda est recommandée, ainsi que l’environnement Jupyter : https://www.anaconda.com/distribution/.

OS X

Il existe de nombreuses façons d’installer Python, une des meilleures est d’utiliser le package Anaconda. Nous vous conseillons donc d’installer la distribution Anaconda. Elle contient tous les modules et packages nécessaires pour ce cours. Elle est disponible pour toutes les plateformes et possède une procédure d’installation assez simple. Vous pouvez la télécharger depuis Continuum. Des détails pour l’installation peuvent être trouvés ici.

Cependant, vous pouvez emprunter une autre route, qui elle, se decompose en deux étapes:

1- Installer Python;

2- Installer Jupyter.

Pour installer Python, il suffit de télécharger la version 3 qui correspond à votre système d’exploitation (Windows ou Mac). Pour ce qui est des systèmes Linux, Python est généralement déjà installé par défaut. Il vous suffit d’ajouter Jupyter. Pour ce qui est de Jupyter, faites reference aux liens:

     - http://jupyter.org/install.html
     - http://jupyter.readthedocs.io/en/latest/install.html.

Démarrage rapide, je voudrais un avant-goût. Pour cela, vous avez deux options:

Option 1: je veux juste jouer avec ces carnets en ligne sans avoir à installer quoi que ce soit

Pour cela, utilisez l’un des services suivants.

ATTENTION : Sachez que ces services fournissent des environnements temporaires : tout ce que vous faites sera supprimé au bout d’un moment, alors assurez-vous de télécharger toutes les données auxquelles vous tenez.

Cahiers de cours dans Colaboratory

Chaque chapitre, entièrement contenu dans un notebook iPython (Jupyter), est directement accessible sur la plateforme Google Colab. Google Colab est une plateforme cloud entièrement gratuite, donnant un accès direct et facile à un une interface de programmation en Python (via des cahiers/calepins Jupyter) déjà correctement pré-configurée, et disposant de nombreuses librairies pré-installées. Accédez au sommaire. Ci-dessous, vous pouvez aller directement aux cahiers de cours dans Google Colab.

Cahiers de cours avec nbviewer

Les cahiers peuvent être aussi consultés sous forme de page web statique avec nbviewer. Dans cette configuration, aucun code ne pourra être exécuté. Les calepins sont lisibles ici, avec le visualiseur de bloc-notes de jupyter.org.

Option 2: je veux juste regarder rapidement quelques carnets, sans exécuter de code

Parcourir cela, utilisez le visualiseur de bloc-notes de jupyter.org

Sur place ou à emporter ?

👉 Vous pouvez aussi télécharger tous les cahiers de cours.

Tous les contenus originaux sont sous licence CC BY-NC-SA 4.0, les ressources extérieures (comme bootstrap) sont sous leur licence respective License: CC BY-NC-SA 4.0.

forthebadge made-with-python Made withJupyter Open in Colab

Instructeur: Yaé Ulrich Gaba, yaeulrich.gaba@gmail.com