|
| 1 | +# Guide d’étude Python ultime |
| 2 | + |
| 3 | +[](https://github.com/huangsam/ultimate-python/actions) |
| 4 | +[](https://codecov.io/gh/huangsam/ultimate-python) |
| 5 | +[](https://sonarcloud.io/dashboard?id=huangsam_ultimate-python) |
| 6 | +[](https://github.com/huangsam/ultimate-python/blob/main/LICENSE) |
| 7 | +[](https://www.reddit.com/r/Python/comments/inllmf/ultimate_python_study_guide/) |
| 8 | + |
| 9 | +Guide d’étude Python ultime pour les débutants comme pour les professionnels. 🐍 🐍 🐍 |
| 10 | + |
| 11 | +```python |
| 12 | +print("Guide d’étude Python ultime") |
| 13 | +``` |
| 14 | + |
| 15 | +[English](README.md) | |
| 16 | +[한국어](README.ko.md) | |
| 17 | +[繁体中文](README.zh_tw.md) | |
| 18 | +[Español](README.es.md) | |
| 19 | +[Deutsch](README.de.md) | |
| 20 | +[हिन्दी](README.hi.md) |
| 21 | + |
| 22 | +<img src="images/ultimatepython.webp" alt="Ultimate Python" width="250px" /> |
| 23 | + |
| 24 | +## Motivation |
| 25 | + |
| 26 | +J’ai créé ce dépôt GitHub pour partager ce que j’ai appris sur le [cœur de Python](https://www.python.org/) |
| 27 | +au cours de plus de 5 années d’utilisation — en tant que diplômé universitaire, employé |
| 28 | +dans de grandes entreprises et contributeur open-source à des dépôts tels que |
| 29 | +[Celery](https://github.com/celery/celery) et |
| 30 | +[Full Stack Python](https://github.com/mattmakai/fullstackpython.com). |
| 31 | +J’espère voir de plus en plus de personnes apprendre Python et poursuivre leurs passions |
| 32 | +grâce à ce langage. 🎓 |
| 33 | + |
| 34 | +## Objectifs |
| 35 | + |
| 36 | +Voici les principaux objectifs de ce guide : |
| 37 | + |
| 38 | +🏆 **Servir de ressource** pour les débutants en Python qui préfèrent apprendre de manière pratique. |
| 39 | +Ce dépôt contient une collection de modules indépendants pouvant être exécutés dans un IDE |
| 40 | +comme [PyCharm](https://www.jetbrains.com/pycharm/) ou dans le navigateur via |
| 41 | +[Replit](https://replit.com/languages/python3). Même un simple terminal suffit |
| 42 | +pour exécuter les exemples. La plupart des lignes contiennent des commentaires détaillés |
| 43 | +qui guident le lecteur pas à pas. |
| 44 | +Les utilisateurs sont encouragés à modifier le code source à leur guise tant que les |
| 45 | +routines `main` ne sont pas supprimées et que les programmes |
| 46 | +[s’exécutent correctement](runner.py) après chaque modification. |
| 47 | + |
| 48 | +🏆 **Servir de guide pur** pour ceux qui souhaitent revoir les concepts fondamentaux de Python. |
| 49 | +Seules les [bibliothèques intégrées](https://docs.python.org/3/library/) sont utilisées afin de |
| 50 | +présenter les concepts sans dépendre de notions spécifiques à un domaine. Ainsi, les |
| 51 | +bibliothèques open-source populaires comme `sqlalchemy`, `requests` ou `pandas` |
| 52 | +ne sont pas installées. |
| 53 | +Cependant, lire le code source de ces frameworks est fortement recommandé |
| 54 | +si ton objectif est de devenir un véritable |
| 55 | +[Pythonista](https://www.urbandictionary.com/define.php?term=pythonista). |
| 56 | + |
| 57 | +## Pour commencer |
| 58 | + |
| 59 | +[](https://replit.com/github/huangsam/ultimate-python) |
| 60 | + |
| 61 | +Clique sur le badge ci-dessus pour lancer un environnement fonctionnel dans ton navigateur |
| 62 | +sans avoir besoin d’installer Git ou Python localement. |
| 63 | +Si ces outils sont déjà installés, tu peux cloner directement le dépôt. |
| 64 | + |
| 65 | +Une fois le dépôt accessible, tu es prêt à apprendre à partir des modules indépendants. |
| 66 | +Pour tirer le meilleur parti de chaque module, lis le code et exécute-le. |
| 67 | + |
| 68 | +Deux méthodes sont possibles : |
| 69 | + |
| 70 | +1. Exécuter un seul module : |
| 71 | + `python ultimatepython/syntax/variable.py` |
| 72 | +2. Exécuter tous les modules : |
| 73 | + `python runner.py` |
| 74 | + |
| 75 | +## Table des matières |
| 76 | + |
| 77 | +📚 = Ressource externe |
| 78 | +🍰 = Sujet débutant |
| 79 | +🤯 = Sujet avancé |
| 80 | + |
| 81 | +1. **À propos de Python** |
| 82 | + - Vue d’ensemble : [Qu’est-ce que Python](https://github.com/trekhleb/learn-python/blob/master/src/getting_started/what_is_python.md) ( 📚, 🍰 ) |
| 83 | + - Philosophie : [Le Zen de Python](https://www.python.org/dev/peps/pep-0020/) ( 📚 ) |
| 84 | + - Guide de style : [Guide de style du code Python](https://www.python.org/dev/peps/pep-0008/) ( 📚, 🤯 ) |
| 85 | + - Modèle de données : [Modèle de données](https://docs.python.org/3/reference/datamodel.html) ( 📚, 🤯 ) |
| 86 | + - Bibliothèque standard : [Bibliothèque standard Python](https://docs.python.org/3/library/) ( 📚, 🤯 ) |
| 87 | + - Fonctions intégrées : [Fonctions intégrées](https://docs.python.org/3/library/functions.html) ( 📚 ) |
| 88 | + |
| 89 | +2. **Syntaxe** |
| 90 | + - Variable : [Littéraux intégrés](ultimatepython/syntax/variable.py) ( 🍰 ) |
| 91 | + - Expression : [Opérations numériques](ultimatepython/syntax/expression.py) ( 🍰 ) |
| 92 | + - Opérateurs binaires : [Opérateurs binaires](ultimatepython/syntax/bitwise.py) ( 🍰 ), [Complément à un et à deux](https://www.geeksforgeeks.org/difference-between-1s-complement-representation-and-2s-complement-representation-technique/) ( 📚 ) |
| 93 | + - Conditionnelle : [if | if-else | if-elif-else](ultimatepython/syntax/conditional.py) ( 🍰 ) |
| 94 | + - Boucle : [for-loop | while-loop](ultimatepython/syntax/loop.py) ( 🍰 ) |
| 95 | + - Fonction : [def | lambda](ultimatepython/syntax/function.py) ( 🍰 ) |
| 96 | + |
| 97 | +3. **Structures de données** |
| 98 | + - Liste : [Opérations sur les listes](ultimatepython/data_structures/list.py) ( 🍰 ) |
| 99 | + - Tuple : [Opérations sur les tuples](ultimatepython/data_structures/tuple.py) |
| 100 | + - Ensemble : [Opérations sur les ensembles](ultimatepython/data_structures/set.py) |
| 101 | + - Dictionnaire : [Opérations sur les dictionnaires](ultimatepython/data_structures/dict.py) ( 🍰 ) |
| 102 | + - Compréhension : [list | tuple | set | dict](ultimatepython/data_structures/comprehension.py) |
| 103 | + - Chaîne : [Opérations sur les chaînes](ultimatepython/data_structures/string.py) ( 🍰 ) |
| 104 | + - Deque : [deque](ultimatepython/data_structures/deque.py) ( 🤯 ) |
| 105 | + - Namedtuple : [namedtuple](ultimatepython/data_structures/namedtuple.py) ( 🤯 ) |
| 106 | + - Defaultdict : [defaultdict](ultimatepython/data_structures/defaultdict.py) ( 🤯 ) |
| 107 | + - Complexité temporelle : [Opérations CPython](https://wiki.python.org/moin/TimeComplexity) ( 📚, 🤯 ) |
| 108 | + |
| 109 | +4. **Classes** |
| 110 | + - Classe basique : [Définition basique](ultimatepython/classes/basic_class.py) ( 🍰 ) |
| 111 | + - Héritage : [Héritage](ultimatepython/classes/inheritance.py) ( 🍰 ) |
| 112 | + - Classe abstraite : [Définition abstraite](ultimatepython/classes/abstract_class.py) |
| 113 | + - Classe d’exception : [Définition d’exception](ultimatepython/classes/exception_class.py) |
| 114 | + - Itérateur : [Définition d’itérateur | yield](ultimatepython/classes/iterator_class.py) ( 🤯 ) |
| 115 | + - Encapsulation : [Définition de l’encapsulation](ultimatepython/classes/encapsulation.py) |
| 116 | + |
| 117 | +5. **Avancé** |
| 118 | + - Décorateur : [Définition de décorateur | wraps](ultimatepython/advanced/decorator.py) ( 🤯 ) |
| 119 | + - Gestion de fichiers : [File Handling](ultimatepython/advanced/file_handling.py) ( 🤯 ) |
| 120 | + - Gestionnaire de contexte : [Context managers](ultimatepython/advanced/context_manager.py) ( 🤯 ) |
| 121 | + - Ordre de résolution des méthodes : [mro](ultimatepython/advanced/mro.py) ( 🤯 ) |
| 122 | + - Mixin : [Définition de Mixin](ultimatepython/advanced/mixin.py) ( 🤯 ) |
| 123 | + - Métaclasse : [Définition de métaclasse](ultimatepython/advanced/meta_class.py) ( 🤯 ) |
| 124 | + - Thread : [ThreadPoolExecutor](ultimatepython/advanced/thread.py) ( 🤯 ) |
| 125 | + - Asyncio : [async | await](ultimatepython/advanced/async.py) ( 🤯 ) |
| 126 | + - Référence faible : [weakref](ultimatepython/advanced/weak_ref.py) ( 🤯 ) |
| 127 | + - Benchmark : [cProfile | pstats](ultimatepython/advanced/benchmark.py) ( 🤯 ) |
| 128 | + - Mocking : [MagicMock | PropertyMock | patch](ultimatepython/advanced/mocking.py) ( 🤯 ) |
| 129 | + - Expressions régulières : [search | findall | match | fullmatch](ultimatepython/advanced/regex.py) ( 🤯 ) |
| 130 | + - Format de données : [json | xml | csv](ultimatepython/advanced/data_format.py) ( 🤯 ) |
| 131 | + - Date et heure : [datetime | timezone](ultimatepython/advanced/date_time.py) ( 🤯 ) |
| 132 | + |
| 133 | +## Ressources supplémentaires |
| 134 | + |
| 135 | +👔 = Ressource d’entretien |
| 136 | +🧪 = Exemples de code |
| 137 | +🧠 = Idées de projets |
| 138 | + |
| 139 | +### Dépôts GitHub |
| 140 | + |
| 141 | +Continue d’apprendre grâce à ces ressources bien établies : |
| 142 | + |
| 143 | +- [TheAlgorithms/Python](https://github.com/TheAlgorithms/Python) ( 👔 , 🧪 ) |
| 144 | +- [faif/python-patterns](https://github.com/faif/python-patterns) ( 👔 , 🧪 ) |
| 145 | +- [geekcomputers/Python](https://github.com/geekcomputers/Python) ( 🧪 ) |
| 146 | +- [trekhleb/homemade-machine-learning](https://github.com/trekhleb/homemade-machine-learning) ( 🧪 ) |
| 147 | +- [karan/Projects](https://github.com/karan/Projects) ( 🧠 ) |
| 148 | +- [MunGell/awesome-for-beginners](https://github.com/MunGell/awesome-for-beginners) ( 🧠 ) |
| 149 | +- [vinta/awesome-python](https://github.com/vinta/awesome-python) |
| 150 | +- [academic/awesome-datascience](https://github.com/academic/awesome-datascience) |
| 151 | +- [josephmisiti/awesome-machine-learning](https://github.com/josephmisiti/awesome-machine-learning) |
| 152 | +- [ZuzooVn/machine-learning-for-software-engineers](https://github.com/ZuzooVn/machine-learning-for-software-engineers) |
| 153 | +- [30-seconds/30-seconds-of-python](https://github.com/30-seconds/30-seconds-of-python) ( 🧪 ) |
| 154 | +- [ml-tooling/best-of-python](https://github.com/ml-tooling/best-of-python) |
| 155 | +- [practical-tutorials/project-based-learning](https://github.com/practical-tutorials/project-based-learning#python) |
| 156 | +- [freeCodeCamp/freeCodeCamp](https://github.com/freeCodeCamp/freeCodeCamp) ( 👔 ) |
| 157 | + |
| 158 | +### Pratique interactive |
| 159 | + |
| 160 | +Continue à t’exercer pour ne pas perdre la main : |
| 161 | + |
| 162 | +- [codechef.com](https://www.codechef.com/) ( 👔 ) |
| 163 | +- [codeforces.com](https://codeforces.com/) |
| 164 | +- [codementor.io](https://www.codementor.io) ( 🧠 ) |
| 165 | +- [coderbyte.com](https://www.coderbyte.com/) ( 👔 ) |
| 166 | +- [codewars.com](https://www.codewars.com/) |
| 167 | +- [exercism.io](https://exercism.io/) |
| 168 | +- [geeksforgeeks.org](https://www.geeksforgeeks.org/) ( 👔 ) |
| 169 | +- [hackerearth.com](https://www.hackerearth.com/) |
| 170 | +- [hackerrank.com](https://www.hackerrank.com/) ( 👔 ) |
| 171 | +- [kaggle.com](https://www.kaggle.com/) ( 🧠 ) |
| 172 | +- [labex.io](https://labex.io/exercises/python) ( 🧪 ) |
| 173 | +- [leetcode.com](https://leetcode.com/) ( 👔 ) |
| 174 | +- [projecteuler.net](https://projecteuler.net/) |
| 175 | +- [replit.com](https://replit.com/) |
| 176 | +- [w3schools.com](https://www.w3schools.com/python/) ( 🧪 ) |
0 commit comments