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/11 10:27] – 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 |
* swapcase() : inverse capitales et bas de casse | * swapcase() : inverse capitales et bas de casse |
* startswith('fizz'), endswith('buzz'), 'fizz buzz' in test_string : renvoie True ou False | * startswith('fizz'), endswith('buzz'), 'fizz buzz' in test_string : renvoie True ou False |
| |
| ===== Manipulations de fichiers ===== |
| * module os |
| * [[https://towardsdatascience.com/8-must-know-file-system-operations-in-python-7dc185daeccd|8 Must-Know File System Operations In Python - The essential for Python in tasks automation apps]] Christopher Tao, Medium, 08/02/2021 |
| * [[https://www.programiz.com/python-programming/directory|Python Directory and Files Management]] (tutorial) |
| * official documentation : [[https://docs.python.org/3/library/os.html]] |
| * [[https://towardsdatascience.com/10-python-file-system-methods-you-should-know-799f90ef13c2|10 Python File System Methods You Should Know - Manipulate Files and Folders With os and shutil]] Jeff Hale, Medium, Feb 15, 2019 (pathlib, OS, shutil) |
| * [[https://medium.com/better-programming/the-top-10-file-handling-techniques-in-python-cf2330a16e7 : The Top 10 File Handling Techniques in Python - Make working with files easier]] Yong Cui, Aug 5, 2020 |
| * [[https://medium.com/python-in-plain-english/manipulating-file-paths-with-python-72a76952b832]] ?? |
| |
| |
===== Expressions rationnelles (régulières) ===== | ===== Expressions rationnelles (régulières) ===== |
* [[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 |
| |