Table des matières
Programmation en Python
Apprendre à programmer en Python
Aides-mémoire et supports
On trouve des tonnes de tutos et de documents sur Python, ceux qui suivent sont des aide-mémoire très concis.
Mémento Python 3 de Laurent Pointal, voir aussi son site
Aide mémoire Python de Marc-Antoine Weisser
Aide mémoire de l'Université de Poitiers, ou bien document pdf
Aide mémoire de Émilien Joly et autres documents utiles sur son site (shell, matlab…)
Learn X in Y minutes, where X=Python3
Quelques bibliothèques utiles
NumPy pour manipuler des tableaux (mini tuto)
SciPy, basée sur NumPy, pour le calcul scientifique
matplotlib pour les représentations graphiques de données et résultats
bokeh pour des représentations graphiques interactives utilisables en ligne
pandas pour l'analyse de données (structures de données et algorithmes) et geopandas pour des données géolocalisées
Pillow issue de PIL, pour le traitement et la manipulation de fichiers image (mini tutoriel)
Opencv pour le traitement d'images et la vision par ordinateur
scikit-image aka Skimage également pour le traitement d'images
Turtle pour l'initiation à la programmation (tracé de graphiques simples avec la tortue) : aide mémoire
Cartopy et GeoPandas pour la cartographie ainsi que ipyleaflet (extension de Jupyter notebooks)
Kivy pour réaliser des interfaces-utilisateur graphiques (GUI multi plateforme)
Theano pour le deep learning
pweave pour générer des rapports scientifiques
Python + arduino + OSC : Tuto
Mises à jour avec Anaconda
conda update -n root conda conda update --all conda update anaconda-navigator
<html> <!–
Utiliser la bibliothèque Turtle avec Jupyter Notebooks
Plusieurs modules à installer !
pip install ipyturtle jupyter nbextension enable --py --sys-prefix ipyturtle
Puis installer Node.js (qui comprend NPM) et :
git clone https://github.com/gkvoelkl/ipython-turtle-widget.git cd ipython-turtle-widget pip install -e . jupyter nbextension install --py --symlink --sys-prefix ipyturtle jupyter nbextension enable --py --sys-prefix ipyturtle
–!> </html>
Quelques programmes
Initiation au Traitement d'images
Variations autour du palindrome
Travail avec des fichiers
Expérimentations avec OSC
Expérimentation avec Arduino
Mini tuto NumPy
Bons usages
Ce n'est pas exigé par le compilateur, mais de bons usages de présentation permettent de faciliter la (re)lecture d'un programme. Un ensemble de règles d'usage est défini dans le guide du style PEP8. On peut généralement paramétrer son éditeur de texte pour qu'il vérifie et signale les “erreurs” de style.
Quelques éléments pour résumer :
- Les opérateurs doivent être entourés d'espaces
- Exception pour exprimer la priorité des opérateur
- Ex. :
c = (a+b) * (a-b)
- Exception pour le passage de paramètres
- Ex.
def fonction(arg='valeur'):
- Pas d'espaces à l'intérieur des parenthèses, crochets et accolades
- Espace après
:
et,
mais pas avant - Longueur des lignes limitée à 79 caractères, si nécessaire passer à la ligne et indenter
- Imports de module : 1 par ligne et sauter 2 lignes avant la suite du code
- Indentation : 4 espaces, pas de tabulation
- Encodage UTF8
- Docstrings entourés de triples quotes
- Noms de variables
- Une seule lettre pour les boucles et les indices
- Minuscules et underscores pour les variables, fonctions et méthodes
- Majuscules et underscores pour les constantes
- CamelCase pour les noms de classes
Essais de Jupyter Notebooks
Il faut préalablement créer un compte sur github de façon à héberger le code qui va être réalisé. Pour les petits programmes, un gist est préférable.
Installer localement la commande nbinteract qui va fabriquer le fichier html dynamique à partir du notebook.
pip install nbinteract
- Créer un notebook et enregistrer le fichier ipynb
- Charger ce notebook sous forme de gist dans github
- Dans le dossier où est le fichier :
nbinteract nom_notebook.ipynb -s user_github/id_gist
- Modifier le fichier html nouvellement créé (remplacer gh par gist en toute fin du fichier)
- Le fichier html est désormais opérationnel
- ATTENTION ! si ce fichier est hébergé sur un serveur en http, il sera impossible de l'afficher dans ce wiki (https). La preuve :
<html> <!– <iframe src=“http://labotim.fr/notebooks/factorielle_recursive.html”></iframe> –> </html>
Références :
https://www.codedisciples.in/embedding-jupyter.html
https://elc.github.io/posts/embed-interactive-notebooks/
https://www.nbinteract.com/tutorial/tutorial_intro.html