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 [2018/05/17 09:15] – [Autres applications, librairies générales] villersd | floss:python [2020/04/20 09:02] – [À classer :] 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://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> |
| |
* Installer Python : [[http://python.org/|Python.org]], le site où télécharger le logiciel **libre**, en version de base. Des versions existent pour [[https://www.python.org/downloads/windows/|Windows]], [[https://www.python.org/downloads/mac-osx/|Mac OS X]] et [[https://www.python.org/downloads/source/|Linux]], mais dans ce dernier cas, il est préférable d'opter pour la version proposée par votre distribution Linux particulière. Soyez vigilant aussi dans le choix entre les versions 32 bits et 64 bits ! | * Installer Python : [[http://python.org/|Python.org]], le site où télécharger le logiciel **libre**, en version de base. Des versions existent pour [[https://www.python.org/downloads/windows/|Windows]], [[https://www.python.org/downloads/mac-osx/|Mac OS X]] et [[https://www.python.org/downloads/source/|Linux]], mais dans ce dernier cas, il est préférable d'opter pour la version proposée par votre distribution Linux particulière. Soyez vigilant aussi dans le choix entre les versions 32 bits et 64 bits ! |
* <del>la **branche 2** : [[https://www.python.org/downloads/release/python-2714/|version 2.7.14]] en janvier 2018. //Cf.// la documentation : | * <del>la **branche 2** : [[https://www.python.org/downloads/release/python-2714/|version 2.7.14]] en janvier 2018. //Cf.// la documentation : |
* [[https://repl.it/languages/python3|repl.it]] : **site web permettant d'explorer interactivement des langages de programmation dont Python, sans rien installer !** | * [[https://repl.it/languages/python3|repl.it]] : **site web permettant d'explorer interactivement des langages de programmation dont Python, sans rien installer !** |
* [[http://www.pythontutor.com/|Online Python tutor]] : **apprendre et pratiquer la programmation Python dans un navigateur. Les exécutions sont décomposées et visualisées pas à pas !** | * [[http://www.pythontutor.com/|Online Python tutor]] : **apprendre et pratiquer la programmation Python dans un navigateur. Les exécutions sont décomposées et visualisées pas à pas !** |
* [[http://www.skulpt.org|skulpt]], implémentation de python 2 dans un navigateur | * [[http://www.skulpt.org|skulpt]], implémentation de python dans un navigateur |
| * [[http://pythonfiddle.com/]] |
* [[http://www.learnpython.org/|LearnPython.org]] : tutoriel interactif Python avec exécution de code (en anglais, avec des publicités) | * [[http://www.learnpython.org/|LearnPython.org]] : tutoriel interactif Python avec exécution de code (en anglais, avec des publicités) |
* [[https://groklearning.com/csedweek/|First experience programming]], specially designed for [[http://code.org/|the Hour of Code]] | * [[https://groklearning.com/csedweek/|First experience programming]], specially designed for [[http://code.org/|the Hour of Code]] |
---- | ---- |
| |
---- | |
| |
| |
{{TOC:2-4 wide}} | |
| |
| |
---- | |
| |
===== Références pour une utilisation (scientifique) plus avancée ===== | ===== Références pour une utilisation (scientifique) plus avancée ===== |
| |
==== 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 (conseillée). | * [[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://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://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). |
* [[https://www.fun-mooc.fr/courses/inria/41001S03/session03/about|Python : des fondamentaux à l'utilisation du langage]] | * [[https://www.fun-mooc.fr/courses/inria/41001S03/session03/about|Python : des fondamentaux à l'utilisation du langage]] |
* [[https://www.fun-mooc.fr/courses/course-v1:UCA+107001+session01/about|Python 3 : des fondamentaux aux concepts avancés du langage]] | * [[https://www.fun-mooc.fr/courses/course-v1:UCA+107001+session01/about|Python 3 : des fondamentaux aux concepts avancés du langage]] |
| * [[https://github.com/jerry-git/learn-python3|Learn Python 3]], GitHub repository containing a collection of materials for teaching/learning Python 3 |
| |
| |
* [[http://www.pasteur.fr/formation/infobio/python/index.html|Introduction to Programming using Python]] - Programming Course for Biologists at the Pasteur Institute | * [[http://www.pasteur.fr/formation/infobio/python/index.html|Introduction to Programming using Python]] - Programming Course for Biologists at the Pasteur Institute |
* [[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]] |
* 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.ni.gsu.edu/~rclewley/PyDSTool/index.html|PyDSTool]] pour l'étude de systèmes dynamiques | * [[http://www.ni.gsu.edu/~rclewley/PyDSTool/index.html|PyDSTool]] pour l'étude de systèmes dynamiques |
* [[https://github.com/yhat/ggplot|ggplot]], port Python de [[http://ggplot2.org/|gglplot2]], un moteur de graphiques pour [[http://www.r-project.org/|R]] | * [[https://github.com/yhat/ggplot|ggplot]], port Python de [[http://ggplot2.org/|gglplot2]], un moteur de graphiques pour [[http://www.r-project.org/|R]] |
| * [[https://towardsdatascience.com/how-to-use-ggplot2-in-python-74ab8adec129|How to Use ggplot2 in Python]] (librairie plotnine) |
* pylab interface to matplotlib ? | * pylab interface to matplotlib ? |
* [[http://www.vni.com/products/imsl/pyimsl/overview.php|PyIMSL]] : permet d'accéder aux algorithmes mathématiques et statistiques de la librairie numérique IMSL C. | * [[http://www.vni.com/products/imsl/pyimsl/overview.php|PyIMSL]] : permet d'accéder aux algorithmes mathématiques et statistiques de la librairie numérique IMSL C. |
* [[https://github.com/chembl/chembl_webresource_client|chembl_webresource_client]], pour accéder à la base de donnée chimique[[https://www.ebi.ac.uk/chembl/|ChEMBL]] | * [[https://github.com/chembl/chembl_webresource_client|chembl_webresource_client]], pour accéder à la base de donnée chimique[[https://www.ebi.ac.uk/chembl/|ChEMBL]] |
* [[https://github.com/mcs07/PubChemPy|PubChemPy]], to interact with PubChem in Python | * [[https://github.com/mcs07/PubChemPy|PubChemPy]], to interact with PubChem in Python |
* [[https://git.durrantlab.com/jdurrant/scoria|Scoria]], a lightweight python code base designed for | * [[https://git.durrantlab.com/jdurrant/scoria|Scoria]], a lightweight python code base designed for importing, manipulating, and exporting molecular models. cf. [[https://jcheminf.springeropen.com/articles/10.1186/s13321-017-0237-8|Scoria: a Python module for manipulating 3D molecular data]] |
importing, manipulating, and exporting molecular models. cf. [[https://jcheminf.springeropen.com/articles/10.1186/s13321-017-0237-8|Scoria: a Python module for manipulating 3D molecular data]] | * librairie [[https://mendeleev.readthedocs.io/en/stable/|Mendeleev]] : données sur les éléments chimiques |
| |
* cf. aussi [[http://lukaszmentel.com/blog/awesome-python-chemistry/|Awesome Python Chemistry]], Łukasz Mentel (aussi [[https://github.com/lmmentel/awesome-python-chemistry|ici]]) | * cf. aussi [[http://lukaszmentel.com/blog/awesome-python-chemistry/|Awesome Python Chemistry]], Łukasz Mentel (aussi [[https://github.com/lmmentel/awesome-python-chemistry|ici]]) |
* [[http://docs.python-requests.org|requests]], [[http://wwwsearch.sourceforge.net/mechanize/|Mechanize]] et/ou [[http://selenium-python.readthedocs.io/installation.html|selenium]], en conjonction avec [[https://www.crummy.com/software/BeautifulSoup/bs4/doc/Beautiful soup]]. //Cf.// [[https://realpython.com/blog/python/python-web-scraping-practical-introduction/|ref1]], [[https://towardsdatascience.com/data-analytics-with-python-by-web-scraping-illustration-with-cia-world-factbook-abbdaa687a84|ref2]], [[https://medium.freecodecamp.org/better-web-scraping-in-python-with-selenium-beautiful-soup-and-pandas-d6390592e251|ref3]], [[https://hackernoon.com/web-scraping-tutorial-with-python-tips-and-tricks-db070e70e071|ref4]] | * [[http://docs.python-requests.org|requests]], [[http://wwwsearch.sourceforge.net/mechanize/|Mechanize]] et/ou [[http://selenium-python.readthedocs.io/installation.html|selenium]], en conjonction avec [[https://www.crummy.com/software/BeautifulSoup/bs4/doc/Beautiful soup]]. //Cf.// [[https://realpython.com/blog/python/python-web-scraping-practical-introduction/|ref1]], [[https://towardsdatascience.com/data-analytics-with-python-by-web-scraping-illustration-with-cia-world-factbook-abbdaa687a84|ref2]], [[https://medium.freecodecamp.org/better-web-scraping-in-python-with-selenium-beautiful-soup-and-pandas-d6390592e251|ref3]], [[https://hackernoon.com/web-scraping-tutorial-with-python-tips-and-tricks-db070e70e071|ref4]] |
* [[https://github.com/matteo-ronchetti/raschietto|Raschietto]] | * [[https://github.com/matteo-ronchetti/raschietto|Raschietto]] |
| * références diverses : [[http://blog.adnansiddiqi.me/5-strategies-to-write-unblock-able-web-scrapers-in-python/|ref1]] |
| |
| |
* [[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://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 ]] |
| |
===== 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]] |