I22 - Python avancé

L'objectif principal de ce module et de ces projets est de vous familiariser et de respecter les bonnes pratiques de programmation. En effet, la réalisation d'un projet (peu) fonctionnel qui brille n'est pas l'objectif premier, ce qui est important est la réalisation d'un code propre.

L'écriture d'un tel code est certes plus longue au début mais apporte un gain de temps énorme au fur et à mesure de la progression du projet. Il est à proscrire ce que l'on appelle les codes "spaghettis".

Pour cela vous devez donc mettre en pratique les connaissances acquises durant vos différents module de programmation en Python et d'algorithmique mais également des notions essentielles au développement d'applications telles que la modularité, la protection, la générécité, robustesse. Pour cela vous devrez respecter au maximum les PEP8 et PEP257 sur les conventions d'écriture du code et sur l'utilisation de documentation (commentaires). Vous devez également mettre en place pour vos fonctions des tests unitaires validant le bon fonctionnement des dites fonctions.

Retour sur des points du cours

Dans ce cours, dans le but d'une meilleure acquisition de la notion de modularité, le langage Python devra être utilisé de maniètre purement impérative. Pour cela, vous devrez importer au début de vos programme le module pocketnoobj.py. Celui permettra une utilisation impérative des types de base (chaîne de caractères, listes, dictionnaires) et des fichiers.

Les différents Notebook suivant illustrent brièvement certains points particulier de python ainsi que les notions abordées pendant le cours et utiles à ce projet:

  1. Variables et paramètres
  2. Mutables - Non mutables
  3. Fonctions
  4. Retour de fonction
  5. Références
  6. Modularité
  7. Structures de données
  8. Listes et dictionnaires en intention
  9. Fichiers
  10. Documentation et commentaires

Ne pas oublier le fichier supplémentaire modulex.py et ne pas oublier non plus de créer dans le même répertoire le fichier paspermi sans droits de lecture avec la commande suivante:

touch paspermi
chmod -r paspermi

Les projets proposés les années précédentes