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 |
teaching:progappchim:notions_avancees [2020/03/12 10:25] – villersd | teaching:progappchim:notions_avancees [2021/02/02 08:56] – villersd |
---|
===== Itérateurs ===== | ===== Itérateurs ===== |
| |
| ==== Itertools, zip,... ==== |
| * [[https://medium.com/techtofreedom/7-levels-of-using-the-zip-function-in-python-a4bd22ee8bcd|7 Levels of Using the Zip Function in Python]] |
===== Générateurs et "yield" ===== | ===== Générateurs et "yield" ===== |
* [[http://fr.openclassrooms.com/informatique/cours/pratiques-avancees-et-meconnues-en-python/les-generateurs-2]] | * [[http://fr.openclassrooms.com/informatique/cours/pratiques-avancees-et-meconnues-en-python/les-generateurs-2]] |
* [[https://www.datacamp.com/community/tutorials/python-list-comprehension]] | * [[https://www.datacamp.com/community/tutorials/python-list-comprehension]] |
* [[https://gist.github.com/bearfrieze/a746c6f12d8bada03589]] | * [[https://gist.github.com/bearfrieze/a746c6f12d8bada03589]] |
| * [[https://medium.com/code-85/a-beginners-guide-to-python-list-comprehensions-7dbb0039f065|A Beginner’s Guide to Python List Comprehensions]] (Jonathan Hsu, Medium, 23/04/2020) |
| |
| |
===== Transformations et manipulations de chaînes (string) ===== | ===== Transformations et manipulations de chaînes (string) ===== |
* replace() : remplacement d'une sous-chaîne | * replace() : remplacement d'une sous-chaîne |
* split() : découpe en une liste de sous-chaînes. Le caractère utilisé par défaut est l'espacement. Le nombre de découpe peut être précisé. rsplit() permet de commencer par la droite. | * split() : découpe en une liste de sous-chaînes. Le caractère utilisé par défaut est l'espacement. Le nombre de découpe peut être précisé. rsplit() permet de commencer par la droite. |
* partition() : découpe particulière | * partition() : découpe particulière → myString.partition("search string") renvoie un tuple de trois sous-chaînes : ( texte précédent, première occurence de la sous-chaîne cherchée, texte à la suite) |
* strip(), lstrip(), rstrip() : élimine des caractères en début et/ou fin, par défaut les espacements | * strip(), lstrip(), rstrip() : élimine des caractères en début et/ou fin, par défaut les espacements |
* zfill(n) : ajoute des zéros devant pour arriver à une longueur donnée | * zfill(n) : ajoute des zéros devant pour arriver à une longueur donnée |
* [[http://nbviewer.ipython.org/url/bender.astro.sunysb.edu/classes/python-science/lectures/python-classes.ipynb]] | * [[http://nbviewer.ipython.org/url/bender.astro.sunysb.edu/classes/python-science/lectures/python-classes.ipynb]] |
* [[http://jeffknupp.com/blog/2014/06/18/improve-your-python-python-classes-and-object-oriented-programming/]] | * [[http://jeffknupp.com/blog/2014/06/18/improve-your-python-python-classes-and-object-oriented-programming/]] |
| |
| ==== Divers ==== |
| * Définir ses propres types : stack, queue, tree + algorithms : [[https://towardsdatascience.com/data-structures-algorithms-in-python-68c8dbb19c90|Data Structures & Algorithms in Python]] by Papa Moryba Kouate, Aug, 2020, Towards Data Science |
| |
| |
===== Closures ===== | ===== Closures ===== |
* [[http://stackoverflow.com/questions/36636/what-is-a-closure]] | * [[http://stackoverflow.com/questions/36636/what-is-a-closure]] |
* [[http://programmers.stackexchange.com/questions/40454/what-is-a-closure]] | * [[http://programmers.stackexchange.com/questions/40454/what-is-a-closure]] |
| |
===== Programmation fonctionnelle ===== | ===== Programmation fonctionnelle ===== |
* [[http://www.pysnap.com/functional-programming-in-python/|Functional Programming in Python]] (FIXME) | * [[http://www.pysnap.com/functional-programming-in-python/|Functional Programming in Python]] (FIXME) |
* Map, filter, reduce : | * Map, filter, reduce : |
* [[https://medium.com/better-programming/how-to-replace-your-python-for-loops-with-map-filter-and-reduce-c1b5fa96f43a|How To Replace Your Python For Loops with Map, Filter, and Reduce - Write more semantic code with functional programming]] | * [[https://medium.com/better-programming/how-to-replace-your-python-for-loops-with-map-filter-and-reduce-c1b5fa96f43a|How To Replace Your Python For Loops with Map, Filter, and Reduce - Write more semantic code with functional programming]] |
| |
| ===== Débogage, debugging ===== |
| * [[https://towardsdatascience.com/stop-using-print-to-debug-in-python-use-icecream-instead-79e17b963fcc|Stop Using Print to Debug in Python. Use Icecream Instead]] |
| |
| ===== Sous le capot (bytecode,...) ===== |
| * [[https://medium.com/swlh/efficiently-checking-for-an-empty-list-in-python-76b76099fbd3|Efficiently Checking for an Empty List in Python]] Frank Scholl, Medium, Nov 22, 2019 → comparaison des bytecodes Python/C générés pour 3 solutions proposées |
| |
===== Performances, temps d'exécution, ... ===== | ===== Performances, temps d'exécution, ... ===== |
| |
===== Tests unitaires ===== | ===== Tests unitaires ===== |
| |
| ===== Python Scripting ===== |
| * [[https://www.datacamp.com/community/tutorials/running-a-python-script|How to Run Python Scripts]] |
| |
| ===== Interface utilisateur graphique (GUI) ===== |
| * [[https://medium.com/analytics-vidhya/how-to-build-your-first-desktop-application-in-python-7568c7d74311|How to build your first Desktop Application in Python]] Ampofo Amoh - Gyebi, Medium, 12/12/2020 |
| |