Les deux révisions précédentes Révision précédente Prochaine révision | Révision précédente Prochaine révisionLes deux révisions suivantes |
floss:python [2019/10/10 11:58] – [Applications en Chimie] villersd | floss:python [2021/01/08 12:28] – villersd |
---|
Il existe d'autres [[https://en.wikipedia.org/wiki/Category:Visual_programming_languages|langages de programmation visuels]] orientés vers l'apprentissage de la programmation : [[http://www.alice.org/index.php|Alice]], [[https://developers.google.com/blockly/|blockly]], [[http://snap.berkeley.edu/|snap!]], [[http://www.squeakland.org/|Squeak]], [[https://www.robomindacademy.com/go/robomind/home|RoboMind]],... | Il existe d'autres [[https://en.wikipedia.org/wiki/Category:Visual_programming_languages|langages de programmation visuels]] orientés vers l'apprentissage de la programmation : [[http://www.alice.org/index.php|Alice]], [[https://developers.google.com/blockly/|blockly]], [[http://snap.berkeley.edu/|snap!]], [[http://www.squeakland.org/|Squeak]], [[https://www.robomindacademy.com/go/robomind/home|RoboMind]],... |
| |
[[https://github.com/AllAboutCode/EduBlocks|EduBlocks]] permet la transition de l'apprentissage par blocs via Scratch vers la programmation en Python. | [[https://edublocks.org|EduBlocks]] permet la transition de l'apprentissage par blocs via Scratch vers la programmation en Python ([[https://github.com/AllAboutCode/EduBlocks|GitHub EduBlocks]]). |
</note> | </note> |
| |
| |
==== Distributions et installation : ==== | ==== Distributions et installation : ==== |
* [[https://store.continuum.io/cshop/anaconda/|Anaconda]], distribution python libre et multiplateforme (Windows, GNU/Linux, Mac OD), en version python2 et python3 (**très conseillée !**) avec Jupyter en prime... | * [[https://store.continuum.io/cshop/anaconda/|Anaconda]], distribution python libre et multiplateforme (Windows, GNU/Linux, Mac OS), avec le système de Notebook web Jupyter en prime... Si les conditions sont limitées (materiel, réseau,...), il peut être plus intéressant d'installer la version [[https://docs.conda.io/en/latest/miniconda.html|miniconda]] qui permet de compléter par la suite et à la demande l'installation de librairies. **→ //Cf.// la page dédiée sur [[anaconda|Anaconda]]** |
* [[https://towardsdatascience.com/how-to-successfully-install-anaconda-on-a-mac-and-actually-get-it-to-work-53ce18025f97|How to Successfully Install Anaconda on a Mac]] | |
* [[http://askubuntu.com/questions/505919/installing-anaconda-python-on-ubuntu]] (concerne installation sous Ubuntu GNU/Linux) | |
* [[http://python-xy.github.io/|Python(x,y)]], **distribution libre orientée scientifique et calcul numérique**, comprenant les interfaces graphiques Qt et l'environnement de développement libre Eclipse (environ 850 MB pour la version Windows, janvier 2016). | * [[http://python-xy.github.io/|Python(x,y)]], **distribution libre orientée scientifique et calcul numérique**, comprenant les interfaces graphiques Qt et l'environnement de développement libre Eclipse (environ 850 MB pour la version Windows, janvier 2016). |
* La distribution [[https://www.enthought.com/products/canopy/academic/|Enthought Canopy for Academic Use]], nécessite un email d'une institution académique reconnue pour l'installation (Windows, Mac OS X ou GNU-Linux. Il existe aussi une version gratuite [[https://www.enthought.com/products/epd/free/|Canopy Express]]. Ces distributions incluent beaucoup d'outils scientifiques, et l'interface wxPython. | * La distribution [[https://www.enthought.com/products/canopy/academic/|Enthought Canopy for Academic Use]], nécessite un email d'une institution académique reconnue pour l'installation (Windows, Mac OS X ou GNU-Linux. Il existe aussi une version gratuite [[https://www.enthought.com/products/epd/free/|Canopy Express]]. Ces distributions incluent beaucoup d'outils scientifiques, et l'interface wxPython. |
* [[http://www.simplecv.org/|SimpleCV]] : interface simplifié à OpenCV : "computer vision made easy" | * [[http://www.simplecv.org/|SimpleCV]] : interface simplifié à OpenCV : "computer vision made easy" |
* [[https://github.com/ojii/pymaging|pymaging]] (pure python) | * [[https://github.com/ojii/pymaging|pymaging]] (pure python) |
* [[http://www.vpython.org/|Vpython]], visual python, permet la programmation d'animations 3D simples (balles, rebonds, graphes,...). [[http://guigui.developpez.com/Tutoriel/Python/frvpython/webdoc/visual/index.php|traduction française du tutoriel de la version 3]] | * [[http://www.vpython.org/|Vpython]] (**la version sous python3 (yc glowscript) ne semble pas compatible avec la version antérieure sous python2**, visual python, permet la programmation d'animations 3D simples (balles, rebonds, graphes,...). [[http://guigui.developpez.com/Tutoriel/Python/frvpython/webdoc/visual/index.php|traduction française du tutoriel de la version 3]] |
* [[http://www.visualrelativity.com/vpython/|VPython applications for Teaching Physics]] | * [[http://www.visualrelativity.com/vpython/|VPython applications for Teaching Physics]] |
* [[http://spe.num.edu.mn/altankhuu/web2/vpython.html|Visual Python demos]] (ne fonctionnent pas toutes) | * [[http://spe.num.edu.mn/altankhuu/web2/vpython.html|Visual Python demos]] (ne fonctionnent pas toutes) |
* [[http://new.math.uiuc.edu/math198/repo/illipython/stanblank/pyopengl/collision.py|collision.py]] et répertoires parents | * [[http://new.math.uiuc.edu/math198/repo/illipython/stanblank/pyopengl/collision.py|collision.py]] et répertoires parents |
* [[http://vpython.wikidot.com/|Vpython wiki site]] | * [[http://vpython.wikidot.com/|Vpython wiki site]] |
| * GlowScript : [[https://www.glowscript.org/|glowscript.org]] reprend les objectifs de Vpython, (sous Python 3) |
| * cf. exemples, articel [[https://rjallain.medium.com/a-physicists-guide-to-functions-in-python-9aec73cc4dcb]],... |
* [[http://code.google.com/p/visvis/|Visvis]] : approche orientée objet de la visualisation | * [[http://code.google.com/p/visvis/|Visvis]] : approche orientée objet de la visualisation |
* [[http://www.pyzo.org|Pyzo]] : environnement d'analyse de données et de visualisation | * [[http://www.pyzo.org|Pyzo]] : environnement d'analyse de données et de visualisation |
* [[http://www.pygtk.org/]] | * [[http://www.pygtk.org/]] |
* [[http://glade.gnome.org/|Glade]], pour créer des interfaces utilisateurs utilisant GTK+ | * [[http://glade.gnome.org/|Glade]], pour créer des interfaces utilisateurs utilisant GTK+ |
| * DearPyGui → "Dear PyGui is a simple and powerful easy to use Python GUI framework to build GUIs using python scripts" |
| * [[https://medium.com/datadriveninvestor/create-quick-and-powerful-guis-using-dear-pygui-in-python-713cc138bf5a|Create Quick and Powerful GUIs Using “Dear PyGui” in Python]] |
* Curses (text only ?) | * Curses (text only ?) |
* [[http://docs.python.org/dev/howto/curses.html]] | * [[http://docs.python.org/dev/howto/curses.html]] |
* [[http://inaps.org/articles/developpement/curses-python]] | * [[http://inaps.org/articles/developpement/curses-python]] |
| * Interfaces simplifiés : |
| * [[https://pysimplegui.readthedocs.io/en/latest/]] + PySimpleGUIWeb |
* http | * http |
| * [[https://github.com/dddomodossola/remi|Python REMote Interface library]] (cf. PySimpleGUIWeb) |
| |
===== Librairies particulières ===== | ===== Librairies particulières ===== |
* [[https://github.com/halfak/mediawiki-utilities|Mediawiki-utilities]] (sous Python 3) | * [[https://github.com/halfak/mediawiki-utilities|Mediawiki-utilities]] (sous Python 3) |
* [[https://timeboard.readthedocs.io/en/latest/index.html|Timeboard]], voir [[https://medium.com/@mmamaev2/introducing-timeboard-a-python-business-calendar-package-a2335898c697|ref1]] | * [[https://timeboard.readthedocs.io/en/latest/index.html|Timeboard]], voir [[https://medium.com/@mmamaev2/introducing-timeboard-a-python-business-calendar-package-a2335898c697|ref1]] |
| * Création de tables, yc vers LaTeX : |
| * [[https://pypi.org/project/tabulate/|Tabulate]] |
| * [[https://pypi.org/project/texttable/|Texttable]] |
| * cf. aussi [[https://towardsdatascience.com/how-to-create-latex-tables-directly-from-python-code-5228c5cea09a|How to create Latex tables directly from Python code]] |
| |
===== Autres distributions ou programmes utiles, pour utilisateurs avertis, ou programmeurs ===== | ===== Autres distributions ou programmes utiles, pour utilisateurs avertis, ou programmeurs ===== |
* [[https://code.tutsplus.com/tutorials/managing-cron-jobs-using-python--cms-28231|Managing Cron Jobs Using Python]] | * [[https://code.tutsplus.com/tutorials/managing-cron-jobs-using-python--cms-28231|Managing Cron Jobs Using Python]] |
* [[https://medium.freecodecamp.org/python-collection-of-my-favorite-articles-8469b8455939|The best of Python: a collection of my favorite articles from 2017 and 2018 (so far)]] | * [[https://medium.freecodecamp.org/python-collection-of-my-favorite-articles-8469b8455939|The best of Python: a collection of my favorite articles from 2017 and 2018 (so far)]] |
| * [[https://cjolowicz.github.io/posts/hypermodern-python-01-setup/|Hypermodern Python]] (série par Claudio Jolowicz) |
| * [[https://towardsdatascience.com/4-super-useful-python-features-993ae484fbb8|4 Super Useful Python Features]], James Briggs, 08/05/2020 |
| |
| |
===== De Python 2 à Python 3 ===== | ===== De Python 2 à Python 3 ===== |
|execfile() |<del>execfile()</del>| | |execfile() |<del>execfile()</del>| |
|range() --> list \\ xrange() → generator|range() → generator \\ <del>xrange()</del>| | |range() --> list \\ xrange() → generator|range() → generator \\ <del>xrange()</del>| |
|filter, map, reduce| reduce | | |
|lambda|<del>lambda</del> | | |
|input()|eval(input())| | |input()|eval(input())| |
|raw_input()|input()| | |raw_input()|input()| |
* [[https://micropython.org/|MicroPython]], python optmimisé pour fonctionner sur un micro-contrôleur | * [[https://micropython.org/|MicroPython]], python optmimisé pour fonctionner sur un micro-contrôleur |
* [[https://www.youtube.com/watch?v=F6u5rhUQ6dU|Memory Management in Python - The Basics - PyCon 2016]], vidéo par Nina Zakharenko | * [[https://www.youtube.com/watch?v=F6u5rhUQ6dU|Memory Management in Python - The Basics - PyCon 2016]], vidéo par Nina Zakharenko |
| * [[https://medium.com/analytics-vidhya/top-10-nice-to-have-data-science-libraries-d155196710ef|Top 10 Nice-To-Have Data Science Libraries]] |
| * [[https://towardsdatascience.com/7-easter-eggs-in-python-7765dc15a203|7 Easter Eggs in Python]] |