floss:python

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

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 [2021/02/01 15:04] – [Ressources (codes sources, tutoriels, documentation, livres ...)] villersdfloss:python [2021/05/10 09:35] – [Ressources (codes sources, tutoriels, documentation, livres ...)] villersd
Ligne 8: Ligne 8:
 {{ http://upload.wikimedia.org/wikipedia/commons/thumb/f/f8/Python_logo_and_wordmark.svg/500px-Python_logo_and_wordmark.svg.png }} {{ http://upload.wikimedia.org/wikipedia/commons/thumb/f/f8/Python_logo_and_wordmark.svg/500px-Python_logo_and_wordmark.svg.png }}
  
-La branche actuelle de PythonPython 3, en version 3.(octobre 2017) apporte de nombreuses amélioration mais n'est pas rétro-compatible avec la branche 2.7.x (dernières évolutions de la branche 2). La grande majorité des modulesnotamment scientifiquessont portés vers la nouvelle branche. Si vous débutez, passez d'office à Python ! Si vous utilisez un OS en version stable proposant encore la version 2, il est grands temps de songer à adopter la nouvelle versionHeureusement, tout n'est pas à jeter dans la documentation et les codes de la version 2 :-D+La branche actuelle de Python est celle de Python 3, en version 3.(décembre 2020qui apporte de nombreuses amélioration mais n'est pas rétro-compatible avec la branche antérieure 2.7.x, qui n'est plus supportéebien que certaines librairies logicielles n'aient pas fait l'objet d'une conversion vers la branche 3 (il est préférable alors d'éviter l'utilisation de ces programmes).
  
   * Pourquoi apprendre à programmer en Python ?   * Pourquoi apprendre à programmer en Python ?
     * **[[http://issuu.com/wile/docs/article_lebigot|Cliquez ici si vous voulez savoir pourquoi apprendre d'abord Python !]]**     * **[[http://issuu.com/wile/docs/article_lebigot|Cliquez ici si vous voulez savoir pourquoi apprendre d'abord Python !]]**
     * [[http://www.javaworld.com/article/2452940/learn-java/python-bumps-off-java-as-top-learning-language.html|Python est le langage le plus utilisé pour l'apprentissage de la programmation]]     * [[http://www.javaworld.com/article/2452940/learn-java/python-bumps-off-java-as-top-learning-language.html|Python est le langage le plus utilisé pour l'apprentissage de la programmation]]
-      * //cf.// aussi l'article [[http://blog.codeeval.com/codeevalblog/2015#.VQhI-suvg_s=|Most Popular Coding Languages of 2015]] ainsi que le livre [[http://www.oreilly.com/programming/free/python-in-education.csp|Python in Education (Teach, Learn, Program)]], par Nicholas H. Tollervey.+      * //cf.// aussi l'article [[https://www.fullstackacademy.com/blog/nine-best-programming-languages-to-learn|The 9 Best Programming Languages to Learn in 2021]] ainsi que le livre [[http://www.oreilly.com/programming/free/python-in-education.csp|Python in Education (Teach, Learn, Program)]], par Nicholas H. Tollervey.
  
 =====  Références recommandées pour débutants  ===== =====  Références recommandées pour débutants  =====
Ligne 20: Ligne 20:
 Si vous n'avez vraiment encore aucune idée de ce qu'est la programmation, passez une heure amusante à **[[http://learn.code.org/|apprendre les rudiments de la programmation avec scratch]]**, et plus si affinité ! Si vous n'avez vraiment encore aucune idée de ce qu'est la programmation, passez une heure amusante à **[[http://learn.code.org/|apprendre les rudiments de la programmation avec scratch]]**, et plus si affinité !
  
-[[http://scratchfr.free.fr/|Scratch]] utilise un environnement visuel et le [[http://fr.wikipedia.org/wiki/Glisser-d%C3%A9poser|glisser-déposer]], ce qui facilite les premiers pas en programmation (//cf.// [[https://www.youtube.com/watch?v=_Mwc1gc77dc|cette vidéo]]).+[[https://scratch.mit.edu/|Scratch]] utilise un environnement visuel et le [[http://fr.wikipedia.org/wiki/Glisser-d%C3%A9poser|glisser-déposer]], ce qui facilite les premiers pas en programmation (//cf.// [[https://www.youtube.com/watch?v=_Mwc1gc77dc|cette vidéo]]).
  
 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]],...
Ligne 27: Ligne 27:
 </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 : +    * la **branche 2 n'est plus supportée depuis janvier 2020 !** 
-      * [[https://docs.python.org/2/using/index.html|Python Setup and Usage]] +    * la **branche 3** : [[https://www.python.org/downloads/release/python-391/|version 3.9.1]] en décembre 2020. //Cf.// la documentation :
-      * [[https://docs.python.org/2/|Documentation complète]]</del> (**version à obsolescence programmée**) +
-    * la **branche 3** : [[https://www.python.org/downloads/release/python-364/|version 3.6.4]] en janvier 2018. //Cf.// la documentation :+
       * [[https://docs.python.org/3/using/index.html|Python Setup and Usage]]       * [[https://docs.python.org/3/using/index.html|Python Setup and Usage]]
       * [[https://docs.python.org/3|Documentation complète]]       * [[https://docs.python.org/3|Documentation complète]]
 +        * **[[https://docs.python.org/fr/3/tutorial/|Le tutoriel Python]]** (site officiel)
  
  
 ==== Essayer, débuter, apprendre les bases ... ==== ==== Essayer, débuter, apprendre les bases ... ====
  
-    * [[http://www.codecademy.com/fr/tracks/python-fr-FR|Codecademy]] : __**Apprenez pas-à-pas les fondamentaux de la programmation Python**__ (site interactif validant votre progression)+<note tip> 
 +Que vous choisissiez le tutoriel de la documentation officielle, ou un voire quelques autres documents pour votre initiation à Python, il est important de ne pas multipliser les sources, au risque de sans cesse relire les mêmes informations sur des notions de base. Dès que vous avez un peu compris les grands principes, comment fonctionne le langage, l'édition de programmes,... il est plus intéressant de développer votre expérience via des petits projets personnels, qui seront autant d'occasions de rechercher de la documentation, des exemples, des recommandations,... 
 + 
 +**Èvitez d'utiliser des documents trop anciens, surtout s'ils n'ont pas été adaptés pour la branche Python 3 !** 
 +</note> 
 + 
 +    * [[http://www.codecademy.com/|Codecademy]] : Cours introductifs,... FIXME
     * [[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 !**
 +    * Autres IDE web, en ligne :
 +      * [[https://www.codechef.com/ide|CodeChef Online Compiler]]
 +      * [[https://ide.geeksforgeeks.org/|IDE - GeeksforGeeks]]
 +      * [[http://pythonfiddle.com/]]
     * [[http://www.skulpt.org|skulpt]], implémentation de python 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]]
Ligne 61: Ligne 69:
 ==== Livres, manuels ou exerciseurs de niveau intermédiaire : ==== ==== Livres, manuels ou exerciseurs de niveau intermédiaire : ====
  
-    * [[http://fr.openclassrooms.com/informatique/cours/apprenez-a-programmer-en-python|Apprenez à programmer en Python]], tutoriel sur openclassrooms (Vincent Le Goff, 2013)+    * [[https://openclassrooms.com/fr/search?page=1&query=python]], tutoriels sur openclassrooms
     * Le livre "[[http://inforef.be/swi/python.htm|apprendre à programmer avec Python]]", de Gérard Swinnen (**librement téléchargeable**, et disponible en librairie, chez l'éditeur [[http://www.eyrolles.com/Informatique/Livre/apprendre-a-programmer-avec-python-9782212124743|Eyrolles, ISBN  978-2-212-12474-3]]). Une version est également disponible sur le site de wikibooks.org : [[http://fr.wikibooks.org/wiki/Apprendre_à_programmer_avec_Python]] (voir aussi [[http://fr.wikibooks.org/wiki/Programmation_Python]])     * Le livre "[[http://inforef.be/swi/python.htm|apprendre à programmer avec Python]]", de Gérard Swinnen (**librement téléchargeable**, et disponible en librairie, chez l'éditeur [[http://www.eyrolles.com/Informatique/Livre/apprendre-a-programmer-avec-python-9782212124743|Eyrolles, ISBN  978-2-212-12474-3]]). Une version est également disponible sur le site de wikibooks.org : [[http://fr.wikibooks.org/wiki/Apprendre_à_programmer_avec_Python]] (voir aussi [[http://fr.wikibooks.org/wiki/Programmation_Python]])
     * Livre **librement téléchargeable** "[[http://www.greenteapress.com/thinkpython/thinkpython.html|Think Python, How to Think Like a Computer Scientist]]" de Allen B. Downey (Cambridge University Press)     * Livre **librement téléchargeable** "[[http://www.greenteapress.com/thinkpython/thinkpython.html|Think Python, How to Think Like a Computer Scientist]]" de Allen B. Downey (Cambridge University Press)
Ligne 156: Ligne 164:
   * Livres scientifiques basés sur Python :   * Livres scientifiques basés sur Python :
     * [[http://shop.oreilly.com/product/0636920033424.do|Effective Computation in Physics. Field Guide to Research with Python]] + [[https://github.com/physics-codes/examples|exemples]]     * [[http://shop.oreilly.com/product/0636920033424.do|Effective Computation in Physics. Field Guide to Research with Python]] + [[https://github.com/physics-codes/examples|exemples]]
 +  * FIXME : [[https://betterprogramming.pub/4-python-books-i-read-as-a-self-taught-programmer-5a5453840cdb|4 Python Books I Read as a Self-Taught Programmer - Books to learn Python to create games, websites, automate tasks, and more]] Frank Andrade, Medium, 28/04/2021
 +
 +
  
 ==== Tutoriels, cours ==== ==== Tutoriels, cours ====
Ligne 189: Ligne 200:
     * [[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   * [[https://github.com/jerry-git/learn-python3|Learn Python 3]], GitHub repository containing a collection of materials for teaching/learning Python 3
 +  * [[https://morioh.com/p/8460e405ac4f?f=5c21fb01c16e2556b555ab32|Python Tutorial in 30 Minutes]] (Crash Course for Absolute Beginners)
  
  
Ligne 215: Ligne 227:
   * [[http://perso.limsi.fr/pointal/python:pqrc|Python Quick Reference Card]], la syntaxe et les règles, le tout sur 9 feuilles recto-verso en couleur ! Attention aux marges lors de l'impression ! Toujours du même auteur (Laurent Pointal)   * [[http://perso.limsi.fr/pointal/python:pqrc|Python Quick Reference Card]], la syntaxe et les règles, le tout sur 9 feuilles recto-verso en couleur ! Attention aux marges lors de l'impression ! Toujours du même auteur (Laurent Pointal)
   * [[https://www.datacamp.com/community/blog/python-matplotlib-cheat-sheet|DataCamp matplotlib cheat sheet]], et autres [[https://www.datacamp.com/community/data-science-cheatsheets|cheat sheets]]   * [[https://www.datacamp.com/community/blog/python-matplotlib-cheat-sheet|DataCamp matplotlib cheat sheet]], et autres [[https://www.datacamp.com/community/data-science-cheatsheets|cheat sheets]]
 +  * [[https://github.com/gto76/python-cheatsheet|Comprehensive Python Cheatsheet]]
   * [[http://www.pythonfrance.com/|PythonFrance.com]] (nombreux codes sources disponibles, en français)   * [[http://www.pythonfrance.com/|PythonFrance.com]] (nombreux codes sources disponibles, en français)
   * [[http://wikipython.flibuste.net/|Wiki Python FR]] avec de nombreuses informations pour débutant ou non, des exemples de code,... (en français)   * [[http://wikipython.flibuste.net/|Wiki Python FR]] avec de nombreuses informations pour débutant ou non, des exemples de code,... (en français)
Ligne 508: Ligne 521:
 =====  Graphical User Interfaces  ===== =====  Graphical User Interfaces  =====
  
-cf. [[http://wiki.python.org/moin/GuiProgramming]]+cf.  
 +  * [[http://wiki.python.org/moin/GuiProgramming]] 
 +  * [[https://betterprogramming.pub/7-must-try-gui-libraries-in-python-34c8f6266363|7 Must-Try GUI Libraries in Python]] Abhay Parashar, Medium, Apr, 2021, Better Programming 
  
   * TKinter (pour mémoire, car inclu dans la distribution standard de Python)   * TKinter (pour mémoire, car inclu dans la distribution standard de Python)
Ligne 533: Ligne 549:
   * Interfaces simplifiés :   * Interfaces simplifiés :
     * [[https://pysimplegui.readthedocs.io/en/latest/]] + PySimpleGUIWeb     * [[https://pysimplegui.readthedocs.io/en/latest/]] + PySimpleGUIWeb
 +      * [[https://levelup.gitconnected.com/uis-in-python-with-pysimplegui-e5cd8ea275e8|UIs in Python with PySimpleGUI - Is this the one?]] Keno Leon, Medium, Dec 18, 2020
   * http   * http
     * [[https://github.com/dddomodossola/remi|Python REMote Interface library]] (cf. PySimpleGUIWeb)     * [[https://github.com/dddomodossola/remi|Python REMote Interface library]] (cf. PySimpleGUIWeb)
Ligne 764: Ligne 781:
   * [[https://cjolowicz.github.io/posts/hypermodern-python-01-setup/|Hypermodern Python]] (série par Claudio Jolowicz)   * [[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   * [[https://towardsdatascience.com/4-super-useful-python-features-993ae484fbb8|4 Super Useful Python Features]], James Briggs, 08/05/2020
 +  * [[https://medium.com/analytics-vidhya/seven-tips-to-clean-code-with-python-24930d35927f|Seven Tips To Clean Code With Python - Here are the seven tips and code bites that I use every day in my work as a data scientist]] Louis de Bruijn, Medium, Jan 27 2021
  
  
  • floss/python.txt
  • Dernière modification : 2024/03/24 02:44
  • de villersd