teaching:progappchim:notions_avancees

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
teaching:progappchim:notions_avancees [2020/03/12 10:25] villersdteaching:progappchim:notions_avancees [2021/02/11 10:27] villersd
Ligne 4: Ligne 4:
 ===== 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]]
Ligne 20: Ligne 21:
   * [[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) =====
Ligne 26: Ligne 29:
   * 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
Ligne 35: Ligne 38:
   * 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) =====
Ligne 55: Ligne 68:
     * [[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, ... =====
Ligne 67: Ligne 92:
  
 ===== 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
  
  • teaching/progappchim/notions_avancees.txt
  • Dernière modification : 2023/05/02 10:36
  • de villersd