--- title: Découvrir Python author: Steve Kossouho --- [intro-guido]: assets/images/intro-guido.jpg [intro-terminal]: assets/images/intro-terminal.png [ide-pycharm]: assets/images/ide-pycharm.png # Découvrir Python ---- ## Introduction à Python Python, c'est surtout : - Un langage de programmation généraliste - Bénéficie de 33 ans d'améliorations publiques (fév. 1991) - Très populaire depuis 2018 - Et il paraît que c'est simple à apprendre… ---- ### Popularité 2021 ![Popularité des langages de programmation 2021](assets/images/x-intro-tiobe-2021.jpg) ---- ### Popularité 2022 ![Popularité des langages de programmation 2022](assets/images/x-intro-tiobe-2022.png) ---- ## Historique de Python - Développement débuté en décembre 1989 par **Guido Van Rossum** - Première publication le 20 février 1991 (version 0.9) - Maintenu par la **Python Software Foundation** (mars 2001) - Licence permissive (PSFL) similaire à la BSD - Utilisé en éducation, IA, traitement de données, automatisme etc. - Python 2.0 sorti en octobre 2000 : gestion Unicode - Python 3.0 (Python 3000) sorti en décembre 2008 : réorganisation - Python 3.11 sorti en novembre 2022 : performance ---- ![Guido Van Rossum, BDFL jusqu'en 2018][intro-guido] ---- ![Équipe des développeurs de Python en 2018](assets/images/x-intro-core-developers-2018.jpg) ---- ## Propriétés techniques de Python Le langage Python repose sur le socle technique suivant : - Langage **interprété** : un programme exécute vos scripts - Langage de programmation impérative : instructions exécutées dans l'ordre - Langage de programmation fonctionnelle - Langage de programmation strictement orienté objet (différent de Java) - Typage dynamique des variables - Syntaxe relativement concise - Démarrage facile (davantage que Java, C, Rust…) ---- ### Python 3.x - Première version (Python 3000) datée du 3 décembre 2008 - Version prise en charge la plus ancienne : _3.7_ (2018) - Version la plus récente stable : _3.11_ (2022) - Version la plus répandue (Linux) : _3.9_ ---- ## Démarrer avec Python sous Linux Les machines Linux proposent toujours un terminal, même si vous y travaillez via une interface de bureau graphique (Gnome, KDE ou autre). L'environnement de développement intégré graphique **PyCharm** en inclut également un. Sous Windows, l'invite de commande ou **PowerShell** sont également des terminaux. On conseillera largement PowerShell face à `cmd.exe`. Pour cette raison, passez à Windows 10 au minimum. ---- ### Terminaux sous Linux ![Neofetch lancé dans le Terminal de Gnome][intro-terminal] ---- ### Environnements de développement Il existe de nombreux éditeurs de code et environnements intégrés de développement. Entre autres : 1. PyCharm (Community ou Professional) 2. Visual Studio Code 3. Spyder 4. ~~Atom~~ Les environnements de développement vous facilitent l'écriture et l'exécution de code en Python, même si vous pourriez également tout faire avec un terminal et un éditeur de texte. **Note** : Si vous possédez une adresse email académique (ex. université), vous avez normalement accès [gratuitement à PyCharm Professional](https://www.jetbrains.com/fr-fr/community/education/#students) (intégration Jupyter, Numpy et Pandas, profiling, Django et Javascript, Frameworks JS, Docker etc.) ---- #### PyCharm PyCharm, développé par JetBrains (CZ), est un environnement de développement intégré spécialisé dans la programmation Python. Il existe dans deux versions, **Community** (gratuite) et **Professional**, cette dernière prenant en charge les bases de données, les frameworks web, le profiling et l'analyse de données etc. Points particuliers : - Excellente prise en charge du langage - Interface élégante et personnalisable - Débogueur intégré - Console Python avancée - Terminal efficace et fonctionnel - Système de plugins offrant de nouvelles fonctionnalités ---- #### Visual Studio Code Visual Studio Code est développé par Microsoft (US). C'est un environnement de développement généraliste qui fonctionne avec des extensions pour augmenter ses capacités. Il est totalement gratuit et très utilisé par les développeurs Python ayant débuté en 2017 et au-delà. Points particuliers : - Lancement rapide - Couleurs personnalisables et zoom - Beaucoup d'extensions pour beaucoup de fonctions - Bon support du langage - Expérience utilisateur limitée par l'interface ---- #### Spyder Spyder a été développé par Pierre Raybaut (FR). C'est un éditeur de code Python simple et spécialisé dans l'exécution de petits scripts, notamment pour les chercheurs et académiciens. Points particuliers : - Interface simple - Visualisation des variables dans un tableau à l'exécution - Aucune notion de projet - Pas de terminal intégré ---- ### Créer un projet avec PyCharm 1. Lancer PyCharm et créer un nouveau projet 2. Choisir le nom du répertoire de projet 3. Choisir le nom du répertoire d'isolation de dépendances (`virtualenv`) 4. C'est parti !