Ceci est une ancienne révision du document !
Bienvenue sur Python, MicroPython et CircuitPython
Rédacteur(s) : Philippe Mariano
[Mise à jour le 16/8/2022]
Ce Wiki, consacré aux bases de Python et aux cartes à microcontrôleur programmables en “MicroPython”, est destiné à des élèves de lycée inscrits dans la spécialité NSI.
✔ : mise à jour en 2022
Présentation
- Python est un langage de programmation interprété, multiparadigme et multiplateformes. Il favorise la programmation impérative structurée, fonctionnelle et orientée objet. Python est distribué sous licence libre et présente une syntaxe épurée et simplifiée, ce qui en fait un outil adapté à l'apprentissage de la programmation.
Ce wiki traite uniquement la version 3.
- MicroPython est une implémentation simple et efficace du langage de programmation Python 3, qui inclut un petit sous-ensemble de la bibliothèque standard Python et qui est optimisée pour fonctionner sur des microcontrôleurs. Il est suffisamment compact pour s’adapter à 256 ko d’espace de code et à 16 ko de RAM.
- CircuitPython est un dérivé open source du langage de programmation MicroPython destiné aux étudiants et aux débutants. Le développement de CircuitPython est soutenu par Adafruit Industries. Il s'agit d'une implémentation logicielle du langage de programmation Python 3, écrit en C.
- MicroPython vs CircuitPython : contrairement à MicroPython, CircuitPython ne permet pas de faire du multithreading.
Sommaire
-
- Python
-
- Particularités du langage
- Premiers pas avec l'interpréteur de commandes
- L'éditeur IDLE
- RealPython
-
- Bases du langage
-
- Types numériques
- Type d'une variable, copie, permutation, opérations
- Portée
- Entrées / sorties dans la console
- Constantes
-
- alternatives
- répétitives
-
- Création, appel, passage de paramètres, signature
- Fonctions lambda
- Fonctions natives (built-in)
- Les structures de données
- Les séquences
-
- Les modules : utilisation et création
- Turtle, Numpy, Matplotlib, etc.
- Les packages
- Documentation
- Script
- PEP 8
-
- Programmation intermédiaire
- Programmation avancée
- Algorithmes, maths et science des données
- API
- Asynchrone
- Bases de données et SGBD
- Bonnes pratiques
- CLI Python
- CPython
- Documentation
- Excel
- Embarqué
- Exceptions
- Fonctionnel
- Générateurs
- Interfaces graphiques
- Journalisation
- Jupyter
- Langages
- Linter
- Machine learning
- Mémoire
- Mobile
- Modules et packages
- Multitâche
- pdf
-
- Classe et objet
- Héritage
- Polymorphisme
- Structures de données
- Tuple
- File et pile
- Tests
- Web
- Bottle
- Django
- Docker
- Flask
-
- Brython: Python in Your Browser
- Python vs JavaScript for Pythonistas, etc
- MQTT
- PyScript
- REST
- Sécurité
- Serveur
- Twitter
- XML
- Jeux
- Projets
- Outils
- Création
- VSCode
-
- Docker
- Documentation
- Entraînement en ligne
- Environnement d'exécution
- Sauvegarde et collaboration
- Git et Github
- Simulation
- En ligne : Python Tutor
- Concours
- Castor (du CM1 à la terminale)
- Algoréa (collège, lycée)
- Alkindi (cryptanalyse, secondes)
- Ressources
- Real Python