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/12/12 08:59] – [À classer :] villersd | floss:python [2021/02/01 15:04] – [Ressources (codes sources, tutoriels, documentation, livres ...)] 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.openbookproject.net/books/bpp4awd/index.html|Beginning Python Programming for Aspiring Web Developers]] (tutorial sous licence GNU Documentation) | * [[http://www.openbookproject.net/books/bpp4awd/index.html|Beginning Python Programming for Aspiring Web Developers]] (tutorial sous licence GNU Documentation) |
* [[http://python.physique.free.fr/index.html|FAQPython de Bordeaux 1]] | * [[http://python.physique.free.fr/index.html|FAQPython de Bordeaux 1]] |
| * [[https://towardsdatascience.com/top-7-repositories-on-github-to-learn-python-44a3a7accb44|The Top 7 Best Github Repositories to Learn Python - Popular repositories to either learn the basics or develop mastery of Python]] Byron Dolon, Medium, aug 26, 2020 |
| * [[https://github.com/jerry-git/learn-python3|GitHub - jerry-git/learn-python3: Jupyter notebooks for teaching/learning Python 3]] |
| * [[https://github.com/trekhleb/learn-python|GitHub - trekhleb/learn-python: 📚 Playground and cheatsheet for learning Python. Collection of Python scripts that are split by topics and contain code examples with explanations.]] |
| * [[https://github.com/joaoventura/full-speed-python|GitHub - joaoventura/full-speed-python: Full Speed Python: a book for self-learners]] |
| * [[https://github.com/rasbt/python_reference|GitHub - rasbt/python_reference: Useful functions, tutorials, and other Python-related things]] |
| * [[https://github.com/zhiwehu/Python-programming-exercises|GitHub - zhiwehu/Python-programming-exercises: 100+ Python challenging programming exercises]] |
| * [[https://github.com/darkprinx/100-plus-Python-programming-exercises-extended/blob/master/Status/Day%203.md|100-plus-Python-programming-exercises-extended/Day 3.md at master · darkprinx/100-plus-Python-programming-exercises-extended · GitHub]] |
| * [[https://github.com/MTrajK/coding-problems|GitHub - MTrajK/coding-problems: Solutions for various coding/algorithmic problems and many useful resources for learning algorithms and data structures]] |
| * [[https://github.com/TheAlgorithms/Python|GitHub - TheAlgorithms/Python: All Algorithms implemented in Python]] |
* Listes de diffusion, forums,... | * Listes de diffusion, forums,... |
* [[http://stackoverflow.com/questions/tagged/python|Stack Overflow, catégorie Python]] | * [[http://stackoverflow.com/questions/tagged/python|Stack Overflow, catégorie Python]] |
* [[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://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://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]] |