Skip to content

Latest commit

 

History

History
219 lines (160 loc) · 9.64 KB

index.md

File metadata and controls

219 lines (160 loc) · 9.64 KB
title
Python — M2 Ingénierie Multilingue 2019

Binder

Nouvelles

  • Les notes de l'évaluation à mi-semestre sont disponible sur demande à <loic.grobol@gmail.com>
  • Les projets sont à rendre le 10 janvier 2020 au plus tard à 20h00 (UTC+1)
  • Le cours du 2019-12-19 est annulé faute de transports
  • Le cours du 2019-12-10 est annulé faute de transports

Pratique

Objectifs

Ce cours a pour objectif de faire de vous des développeuses et des développeurs opérationnels en Python, il suppose que vous êtes déjà en grande partie autonomes dans pour une utilisation simple de Python, ce qui correspond essentiellement aux acquis du cours de M1 (même si des rappels seront faits aux moments opportuns).

Vous y seront présentés des concepts et de fonctions avancées du langage, ainsi que des outils de développement standards, en insistant sur les bonnes pratiques, la collaboration et la réutilisabilité. L’accent sera mis sur le traitement de données textuelles et les problèmes liés aux données multilingues.

Programme

Tous les supports sont sur github, les liens vers les slides et les notebooks ci-dessous ouvrent sur Binder pour une utilisation sans rien installer.

2019-09-18 : Rappel des bases

2019-09-18 : Rappel des bases (2)

2019-10-02 : Objets et modules

2019-10-09 : récursion

  • Slides
  • Exo préliminaire:
    • Complétez le script qui parse le fichier conll et donne le nombre de phrases, le nombre de tokens et le nombre de tokens d’une catégorie morpho-syntaxique choisie par l’utilisateur. Trouver les tokens dont le lemme se termine en ‘ment’ qui ne sont pas des adverbes, les afficher triés par forme et par fonction.
  • Exos:
  • Corrections:

2019-10-15 : exoooooos

2019-10-23 : examen et projets

2019-11-04 : git exos et exercice incendie

2019-11-13 : git

2019-11-20 pip et virtualenv

2019-11-27 parseurs et correction

2019-12-03 linters et débuggueurs

Outils

Vous aurez besoin d'un interpréteur Python et d'un éditeur de texte.

Python & co

Vous travaillerons avec Python 3.7 et supérieur

Les supports de cours sont essentiellement sous forme de notebooks Jupyter, les diapos utilisant RISE. Pour utiliser les notebooks (anciennement ipython notebook maintenant jupyter notebook) vous aurez besoin d'installer sur votre machine de travail. Je vous incite également à utiliser le shell interactif ipython qui est une version améliorée du shell python (ipython est inclus dans jupyter).

Deux options pour l'installation :

Installer uniquement les outils nécessaires avec pip

  1. Installer Python 3, de préférence via le gestionnaire de paquets de votre système, sinon à partir de https://www.python.org/downloads/. Pour les distributions dérivées de Debian (y compris Ubuntu) vous aurez également besoin d'installer pip

    sudo apt install python3 python3-pip
  2. Installer jupyter

    python3 -m pip install --user jupyter

Utiliser Anaconda

Nous ne le recommandons pas, mais si vous préférez, vous pouvez installer anaconda, qui gère non-seulement Python et les modules Python, mais aussi beaucoup d'autres paquets et installera beaucoup de modules tiers dont on se servira pas

Nous verrons également dans le cours comment utiliser virtualenv pour gérer des installations de Python isolées du système pour plus de confort.

Éditeur de texte

Dans un premier temps : pas un traitement de texte, pas un IDE, un éditeur de texte.

Une fois que vous êtes à l'aise pour développer dans un éditeur de texte, vous pouvez si vous le désirez passer à un IDE

Ressources

Il y a beaucoup, beaucoup de ressources disponibles pour apprendre Python. Ce qui suit n'est qu'une sélection.

Livres

  • How to think like a computer scientist, by Jeffrey Elkner, Allen B. Downey, and Chris Meyers. Vous pouvez l'acheter. Vous pouvez aussi le lire ici
  • Dive into Python, by Mark Pilgrim. Ici vous pouvez le lire ou télécharger le pdf.
  • Learning Python, by Mark Lutz.
  • Beginning Python, by Magnus Lie Hetland.
  • Python Algorithms: Mastering Basic Algorithms in the Python Language, by Magnus Lie Hetland. Peut-être un peu costaud pour des débutants.
  • Programmation Efficace. Les 128 Algorithmes Qu'Il Faut Avoir Compris et Codés en Python au Cours de sa Vie, by Christoph Dürr and Jill-Jênn Vie. Si le cours vous paraît trop facile. Le code Python est clair, les difficultés sont commentées. Les algos sont très costauds.

Web

Il vous est vivement conseillé d'utiliser un (ou plus) des sites et tutoriels ci-dessous.

Licence

Copyright © 2019 Loïc Grobol <loic.grobol@gmail.com> et Yoann Dupont <yoa.dupont@gmail.com>

Sauf indication contraire, les fichiers présents dans ce dépôt sont distribués selon les termes de la licence MIT

Un résumé simplifié de cette licence est disponible à https://tldrlegal.com/license/mit-license.