Bases de Python¶
Dans MicroPython, il y a :
Micro
pour micro-contrôleur,Python
pour langage Python.
Avant toute chose, indépendemment de la carte à micro-contrôleur utilisée, Micropython, c'est d'abord et avant tout du Python. Nous allons donc commencer par apprendre les bases du langage Python. Et comme vous allez le voir, de façon ludique et interactive, ce que permet le mode interpréteur du langage MicroPython. Mais vous allez aussi apprendre à écrire vos premiers scripts Python.
C'est un tuto de Micropython, un vrai !
Bien qu'en apprenant MicroPython vous apprenez vraiment par la même occasion le Python, ici on ne triche pas : on vous apprend MicroPython en utilisant des exemples testés dans l'interpréteur installé sur la carte Pi Pico (ou n'importe quelle autre carte MicroPython). Et vous allez d'ailleurs pouvoir tout refaire vous-même avec votre carte. Idem pour les codes d'exemples qui seront exécutés sur la carte MicroPython.
Dans l'interpréteur¶
"Hello world !" : Lancer l'interpréteur MicroPython et saisir votre première commande¶
Savoir lancer l'interpréteur et saisir une commande. On refait ici ce que l'on a déjà vu rapidement lors de l'installation de Thonny.
Note
Ce tuto est en préparation et sera prochainement disponible. Le rythme de publication est d'au moins 10 nouveaux tutos par mois (2 ou 3 par semaine au moins).
Pour tous les abonnés, les nouveaux tutos sont directement disponibles au fur et à mesure de leur publication. Vous êtes impatients de la sortie de ce tuto : faîtes-le nous savoir !
Déclarer et utiliser des variables en (Micro)Python¶
On va commencer par le commencement : comprendre ce qu'est une variable et comment les déclarer, les utiliser.
De ce point de vue, le langage (Micro)Python ne vous embête pas avec des choses compliquées : déclarer une variable, c'est simple et intuitif.
On en profite pour découvrir auss les opérations arithmétiques de bases entre variables numériques. Rien de très sorcier et tout de suite un peu ludique en fait !
Ressources
- Tuto en ligne : "Déclarer et utiliser des variables en (Micro)Python" (accès réservé aux abonnés)
Complément : notion de type et types de données en (Micro)Python¶
Une fois que nous avons vu comment créer et utiliser des variables, et bien que Python ne nous oblige pas à indiquer le type des variables utilisées, nous allons malgré tout prendre le temps de comprendre la notion de type et présenter les principaux types de données en Python.
Nous verrons également comment convertir explicitement une variable dans un type donné.
Nous verrons enfin les situations concrètes où il est utile de prendre en compte le type d'une variable.
Ressources
- Tuto en ligne : "Notion de type et types de données en (Micro)Python" (accès réservé aux abonnés)
Savoir importer des modules en (Micro)Python¶
Dans ce tutoriel, vous allez apprendre à utiliser les librairies externes du langage (Micro)Python, appelées modules.
Nous allons voir ici :
- le principe d'inclusion des modules standards (ou propres à Brython donc "standard" en Brython) disponibles dans un code Brython
- les principes généraux d'utilisation des modules qui restent valables comme en Python standard
- et également comment créer et importer son propre module Python dans un script Python.
Bonus : Savoir "explorer" les modules en (Micro)Python¶
Nous avons vu précédemment comment importer un module... mais avant de pouvoir importer une classe qu'il contient ou une fonction qu'il contient, encore faut-il savoir qu'elle existe !
Pour cela il y a la documentation... mais il est également possible "d'explorer" le contenu d'un module grâce à une fonction dédiée du langage (Micro)Python, la fonction dir()
. Nous allons présenter cette fonction et en profiter pour explorer un peu les modules de la carte (Micro)Python.
Les maths en (Micro)Python¶
Apprendre à utiliser un premier module, le module math
et les fonctions mathématiques disponibles en MicroPython.
Note
Ce tuto est en préparation et sera prochainement disponible. Le rythme de publication est d'au moins 10 nouveaux tutos par mois (2 ou 3 par semaine au moins).
Pour tous les abonnés, les nouveaux tutos sont directement disponibles au fur et à mesure de leur publication. Vous êtes impatients de la sortie de ce tuto : faîtes-le nous savoir !
Utiliser le hasard en (Micro)Python¶
Complément logique de l'utilisation du module math
, apprendre à utiliser le hasard avec Micropython.
Note
Ce tuto est en préparation et sera prochainement disponible. Le rythme de publication est d'au moins 10 nouveaux tutos par mois (2 ou 3 par semaine au moins).
Pour tous les abonnés, les nouveaux tutos sont directement disponibles au fur et à mesure de leur publication. Vous êtes impatients de la sortie de ce tuto : faîtes-le nous savoir !
Savoir utiliser les chaînes en (Micro)Python !¶
Apprendre à utiliser les chaînes texte en (Micro)Python, objet "séquence" de base.
Note
Ce tuto est en préparation et sera prochainement disponible. Le rythme de publication est d'au moins 10 nouveaux tutos par mois (2 ou 3 par semaine au moins).
Pour tous les abonnés, les nouveaux tutos sont directement disponibles au fur et à mesure de leur publication. Vous êtes impatients de la sortie de ce tuto : faîtes-le nous savoir !
Savoir utiliser l'objet List en (Micro)Python : essentiel !¶
Découvrir et apprendre à utiliser l'objet list
, un objet séquence fondamental du langage Python.
Note
Ce tuto est en préparation et sera prochainement disponible. Le rythme de publication est d'au moins 10 nouveaux tutos par mois (2 ou 3 par semaine au moins).
Pour tous les abonnés, les nouveaux tutos sont directement disponibles au fur et à mesure de leur publication. Vous êtes impatients de la sortie de ce tuto : faîtes-le nous savoir !
Savoir utiliser la notation slice en (Micro)Python !¶
Que ce soit avec les list
ou les str
, la notation slice est un outil propre au langage Python... et est disponible avec (Micro)Python !
Note
Ce tuto est en préparation et sera prochainement disponible. Le rythme de publication est d'au moins 10 nouveaux tutos par mois (2 ou 3 par semaine au moins).
Pour tous les abonnés, les nouveaux tutos sont directement disponibles au fur et à mesure de leur publication. Vous êtes impatients de la sortie de ce tuto : faîtes-le nous savoir !
Vos premiers scripts¶
Comprendre le principe d'utilisation d'un script Micropython¶
Les bases pour écrire un script en Micropython
Note
Ce tuto est en préparation et sera prochainement disponible. Le rythme de publication est d'au moins 10 nouveaux tutos par mois (2 ou 3 par semaine au moins).
Pour tous les abonnés, les nouveaux tutos sont directement disponibles au fur et à mesure de leur publication. Vous êtes impatients de la sortie de ce tuto : faîtes-le nous savoir !
Les règles de syntaxe générale du langage Python¶
Découvrir les règles de syntaxe de base du langage (Micro)Python
Note
Ce tuto est en préparation et sera prochainement disponible. Le rythme de publication est d'au moins 10 nouveaux tutos par mois (2 ou 3 par semaine au moins).
Pour tous les abonnés, les nouveaux tutos sont directement disponibles au fur et à mesure de leur publication. Vous êtes impatients de la sortie de ce tuto : faîtes-le nous savoir !
Afficher des messages ou des variables¶
Reprise très simple du "Hello World !" mais ici dans un script Micropython. Apprenez également à afficher la valeur de variables, bases utiles pour vos scripts.
Note
Ce tuto est en préparation et sera prochainement disponible. Le rythme de publication est d'au moins 10 nouveaux tutos par mois (2 ou 3 par semaine au moins).
Pour tous les abonnés, les nouveaux tutos sont directement disponibles au fur et à mesure de leur publication. Vous êtes impatients de la sortie de ce tuto : faîtes-le nous savoir !
Complément sur les variables : Saisir une valeur en (Micro)Python¶
A présent, nous allons voir quelque chose qui n'est pas très compliqué, mais qui sera très pratique lorsque l'on en aura besoin : nous allons voir comment il est possible de demander à l'utilisateur de saisir une valeur.
Ceci permet d'écrire des scripts en se basant sur la réponse saisie à une ou plusieurs questions. Ici nous présentons la fonction input()
et le principe de son utilisation .
Ressources
- Tuto en ligne : Saisir des valeurs
- Référence : la fonction
input()
Introduction aux fonctions en (Micro)Python¶
Les bases de l'écriture des fonctions en (Micro)Python.
Note
Ce tuto est en préparation et sera prochainement disponible. Le rythme de publication est d'au moins 10 nouveaux tutos par mois (2 ou 3 par semaine au moins).
Pour tous les abonnés, les nouveaux tutos sont directement disponibles au fur et à mesure de leur publication. Vous êtes impatients de la sortie de ce tuto : faîtes-le nous savoir !
Complément sur les variables : notion de portée des variables et où déclarer vos variables¶
Notion de portée des variables, mot-clé global
.
Note
Ce tuto est en préparation et sera prochainement disponible. Le rythme de publication est d'au moins 10 nouveaux tutos par mois (2 ou 3 par semaine au moins).
Pour tous les abonnés, les nouveaux tutos sont directement disponibles au fur et à mesure de leur publication. Vous êtes impatients de la sortie de ce tuto : faîtes-le nous savoir !
Savoir utiliser la boucle for.. in..
(Micro)Python¶
Découvrir la boucle pythonique !
Note
Ce tuto est en préparation et sera prochainement disponible. Le rythme de publication est d'au moins 10 nouveaux tutos par mois (2 ou 3 par semaine au moins).
Pour tous les abonnés, les nouveaux tutos sont directement disponibles au fur et à mesure de leur publication. Vous êtes impatients de la sortie de ce tuto : faîtes-le nous savoir !
Savoir utiliser la condition if.. elif.. else...
en (Micro)Python¶
Les conditions en (Micro)Python
Note
Ce tuto est en préparation et sera prochainement disponible. Le rythme de publication est d'au moins 10 nouveaux tutos par mois (2 ou 3 par semaine au moins).
Pour tous les abonnés, les nouveaux tutos sont directement disponibles au fur et à mesure de leur publication. Vous êtes impatients de la sortie de ce tuto : faîtes-le nous savoir !
Introduction à la notion de classe en (Micro)Python¶
En (Micro)Python, tous les objets sont des classes. Nous prenons ici le temps de présenter les principes généraux de l'utilisation d'une classe :
- structure type d'une classe
- utilisation du constructeur
- utilisation des propriétés
- utilisaton des fonctions d'instance et de classe
Note
Ce tuto est en préparation et sera prochainement disponible. Le rythme de publication est d'au moins 10 nouveaux tutos par mois (2 ou 3 par semaine au moins).
Pour tous les abonnés, les nouveaux tutos sont directement disponibles au fur et à mesure de leur publication. Vous êtes impatients de la sortie de ce tuto : faîtes-le nous savoir !
Savoir utiliser un Timer en (Micro)Python¶
Dès que l'on a besoin de faire "boucler" un code, l'objet Timer
est la clé !
note cf premiers pas et bases... Pi Pico * le besoin de boucler * la solution à éviter : while True * la classe Timer * constructeur Timer * initialisation Timer * exemple d'utilisation * structure type d'un programme MicroPython
Note
Ce tuto est en préparation et sera prochainement disponible. Le rythme de publication est d'au moins 10 nouveaux tutos par mois (2 ou 3 par semaine au moins).
Pour tous les abonnés, les nouveaux tutos sont directement disponibles au fur et à mesure de leur publication. Vous êtes impatients de la sortie de ce tuto : faîtes-le nous savoir !
Savoir (ne pas) utiliser la boucle conditionelle while..
en (Micro)Python¶
La boucle while
et comment savoir (ne pas) l'utiliser !
Note
Ce tuto est en préparation et sera prochainement disponible. Le rythme de publication est d'au moins 10 nouveaux tutos par mois (2 ou 3 par semaine au moins).
Pour tous les abonnés, les nouveaux tutos sont directement disponibles au fur et à mesure de leur publication. Vous êtes impatients de la sortie de ce tuto : faîtes-le nous savoir !
Fonctionnalités "système" en Micropython¶
===> à mettre en section approf
Savoir utiliser chemins et répertoire en MicroPython¶
Les chemins en (Micro)Python
Note
Ce tuto est en préparation et sera prochainement disponible. Le rythme de publication est d'au moins 10 nouveaux tutos par mois (2 ou 3 par semaine au moins).
Pour tous les abonnés, les nouveaux tutos sont directement disponibles au fur et à mesure de leur publication. Vous êtes impatients de la sortie de ce tuto : faîtes-le nous savoir !
Fichiers texte en MicroPython¶
Apprendre à utiliser un fichier texte en (Micro)Python
Note
Ce tuto est en préparation et sera prochainement disponible. Le rythme de publication est d'au moins 10 nouveaux tutos par mois (2 ou 3 par semaine au moins).
Pour tous les abonnés, les nouveaux tutos sont directement disponibles au fur et à mesure de leur publication. Vous êtes impatients de la sortie de ce tuto : faîtes-le nous savoir !
Temps, date et heure en MicroPython¶
Temps, date et heure en (Micro)Python
Note
Ce tuto est en préparation et sera prochainement disponible. Le rythme de publication est d'au moins 10 nouveaux tutos par mois (2 ou 3 par semaine au moins).
Pour tous les abonnés, les nouveaux tutos sont directement disponibles au fur et à mesure de leur publication. Vous êtes impatients de la sortie de ce tuto : faîtes-le nous savoir !
Approfondissement¶
Compléments sur l'utilisation des List !¶
Encore plus sur les list
!
Note
Ce tuto est en préparation et sera prochainement disponible. Le rythme de publication est d'au moins 10 nouveaux tutos par mois (2 ou 3 par semaine au moins).
Pour tous les abonnés, les nouveaux tutos sont directement disponibles au fur et à mesure de leur publication. Vous êtes impatients de la sortie de ce tuto : faîtes-le nous savoir !
Savoir utiliser les "comprehension list" en MicroPython¶
Découvrez la "tuerie totale" en (Micro)Python !
Note
Ce tuto est en préparation et sera prochainement disponible. Le rythme de publication est d'au moins 10 nouveaux tutos par mois (2 ou 3 par semaine au moins).
Pour tous les abonnés, les nouveaux tutos sont directement disponibles au fur et à mesure de leur publication. Vous êtes impatients de la sortie de ce tuto : faîtes-le nous savoir !
Savoir utiliser les dictionnaires en MicroPython¶
Un objet Python à connaître : les dict
!
Note
Ce tuto est en préparation et sera prochainement disponible. Le rythme de publication est d'au moins 10 nouveaux tutos par mois (2 ou 3 par semaine au moins).
Pour tous les abonnés, les nouveaux tutos sont directement disponibles au fur et à mesure de leur publication. Vous êtes impatients de la sortie de ce tuto : faîtes-le nous savoir !
Savoir utiliser la gestion des exceptions en MicroPython¶
Gérer les erreurs et rendre ses codes plus robustes en (Micro)Python.
Note
Ce tuto est en préparation et sera prochainement disponible. Le rythme de publication est d'au moins 10 nouveaux tutos par mois (2 ou 3 par semaine au moins).
Pour tous les abonnés, les nouveaux tutos sont directement disponibles au fur et à mesure de leur publication. Vous êtes impatients de la sortie de ce tuto : faîtes-le nous savoir !
Les opérateurs logiques en (Micro)Python¶
Complément logique des conditions if elif else
Note
Ce tuto est en préparation et sera prochainement disponible. Le rythme de publication est d'au moins 10 nouveaux tutos par mois (2 ou 3 par semaine au moins).
Pour tous les abonnés, les nouveaux tutos sont directement disponibles au fur et à mesure de leur publication. Vous êtes impatients de la sortie de ce tuto : faîtes-le nous savoir !
Stratégies de temporisation en MicroPython¶
Faire du séquentiel avec un Timer ?¶
Le point de départ ici est de comprendre qu'il faut éviter absolument l'utilisation de while True
: à la place, il faut utiliser un Timer
qui va appeler une fonction à intervalles réguliers. Cela av avoir plusieurs intérêts :
- on évite le blocage de l'interpréteur
- on peut faire du multi-tâches à l'aide de plusieurs timers
Ceci étant, la question qui se pose, c'est comment réaliser des tâches séquentielles dans une fonction en recourant à un Timer
? La solution passe par le comptage des passages dans la fonction, et à adapter le comportement en fonction du nombre de passages. La façon la plus simple d'évaluer le nombre de passages est de recourir à l'opération modulo %
.
Une fois que l'on comprend ce principe, il est facile de le généraliser sur une base 100 passages ou 1000 passages.
Note
Ce tuto est en préparation et sera prochainement disponible. Le rythme de publication est d'au moins 10 nouveaux tutos par mois (2 ou 3 par semaine au moins).
Pour tous les abonnés, les nouveaux tutos sont directement disponibles au fur et à mesure de leur publication. Vous êtes impatients de la sortie de ce tuto : faîtes-le nous savoir !
Evaluer la durée d'une instruction, d'un bout de code¶
Pour être optimale, l'utilisation des Timer présuppose que la durée d'exécution du code de la fonction soit très inférieur à la période du Timer. Une autre stratégie importante est donc de savoir compter la durée d'exécution d'une instruction, d'un bout de code.
On peut le faire 1 seule fois mais aussi n fois répétées avec un calcul de la durée moyenne, un peu comme le %timeit de l'interpréteur de l'interpréteur Jupyter.
Note
Ce tuto est en préparation et sera prochainement disponible. Le rythme de publication est d'au moins 10 nouveaux tutos par mois (2 ou 3 par semaine au moins).
Pour tous les abonnés, les nouveaux tutos sont directement disponibles au fur et à mesure de leur publication. Vous êtes impatients de la sortie de ce tuto : faîtes-le nous savoir !
Stratégies de temporisations en (Micro)Python¶
Stratégies de temporisation en (Micro)Python ==> stratégies à proprement parler dans approf plutôt non ou au fur et à mesure micro
Note
Ce tuto est en préparation et sera prochainement disponible. Le rythme de publication est d'au moins 10 nouveaux tutos par mois (2 ou 3 par semaine au moins).
Pour tous les abonnés, les nouveaux tutos sont directement disponibles au fur et à mesure de leur publication. Vous êtes impatients de la sortie de ce tuto : faîtes-le nous savoir !