teaching:progappchim:notions_fondamentales

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_fondamentales [2021/03/08 08:51] – [Références] villersdteaching:progappchim:notions_fondamentales [2022/05/02 09:04] – [Les booléens (vrai ou faux)] villersd
Ligne 73: Ligne 73:
  
 Les instruction if peuvent souvent être remplacées par une alternative plus lisible, plus générale. Cf. par exemple [[https://medium.com/swlh/3-alternatives-to-if-statements-to-make-your-python-code-more-readable-91a9991fb353|3 Alternatives to If Statements That Make your Code More Readable]] (Jonny Jackson, Medium, 24/09/2020) Les instruction if peuvent souvent être remplacées par une alternative plus lisible, plus générale. Cf. par exemple [[https://medium.com/swlh/3-alternatives-to-if-statements-to-make-your-python-code-more-readable-91a9991fb353|3 Alternatives to If Statements That Make your Code More Readable]] (Jonny Jackson, Medium, 24/09/2020)
 +
 +Dans quelques cas, il est intéressant d'écrire les instructions conditionnelles sur une seule ligne de code. //Cf.// [[https://towardsdatascience.com/python-if-else-statement-in-one-line-ternary-operator-explained-eca2be64b7cc|Python If-Else Statement in One Line — Ternary Operator Explained - Single-line conditionals in Python? Here’s when to and when NOT to use them]] Dario Radečić, Medium, 11/01/2022
 +
 +
  
 ==== Structures répétitives ==== ==== Structures répétitives ====
Ligne 95: Ligne 99:
   * [[https://medium.com/analytics-vidhya/looping-techniques-in-python-3bbf907b8dfa|Looping Techniques in Python - Let’s learn about looping techniques using functions like enumerate, zip, sorted, reversed in python]] Indhumathy Chelliah; Medium, 30/07/2020   * [[https://medium.com/analytics-vidhya/looping-techniques-in-python-3bbf907b8dfa|Looping Techniques in Python - Let’s learn about looping techniques using functions like enumerate, zip, sorted, reversed in python]] Indhumathy Chelliah; Medium, 30/07/2020
   * [[https://medium.com/better-programming/how-to-use-for-loops-better-in-python-1dfbc3d9e91f|How To Use For Loops Better in Python - A few functions that can improve your looping logic]] Yong Cui, Medium, Jan 8, 2020   * [[https://medium.com/better-programming/how-to-use-for-loops-better-in-python-1dfbc3d9e91f|How To Use For Loops Better in Python - A few functions that can improve your looping logic]] Yong Cui, Medium, Jan 8, 2020
 +  * [[https://medium.com/techtofreedom/the-art-of-writing-loops-in-python-68e9869e4ed4|The Art of Writing Loops in Python - Simple is better than complex]] Yang Zhou, Medium, 03/05/2021
  
 ---- ----
Ligne 267: Ligne 272:
 </code> </code>
  
 +Pour une technique de détection utilisant les nombres premiers : [[https://mobile.twitter.com/fermatslibrary/status/1385957963429515266]] (programmer et comparer !)
  
 === Références === === Références ===
Ligne 286: Ligne 292:
   * [[https://docs.python.org/3/library/stdtypes.html#boolean-operations-and-or-not|les opérateurs booléens]]   * [[https://docs.python.org/3/library/stdtypes.html#boolean-operations-and-or-not|les opérateurs booléens]]
   * [[https://docs.python.org/3/library/stdtypes.html#comparisons|les opérateurs de comparaison]]   * [[https://docs.python.org/3/library/stdtypes.html#comparisons|les opérateurs de comparaison]]
 +    * Les 6 opérateurs ==, !=, <, >, <=, >= sont destinés à comparer des valeurs d'objets (cf. les instructions conditionnelles,...)
 +    * Les opérateurs **is** et **is not** sont destinés à comparer l'identité d'objets, en particulier des objets uniques (singletons) du langage, comme **None**
  
 ==== Les listes ==== ==== Les listes ====
Ligne 311: Ligne 319:
  
   * //range(start, stop, step)// avec des arguments entiers renvoie une liste d'entiers commençant par //start//, incrémentés chaque fois de la valeur //step//, jusque la valeur //stop// exclue. FIXME : → generator depuis python 3 !   * //range(start, stop, step)// avec des arguments entiers renvoie une liste d'entiers commençant par //start//, incrémentés chaque fois de la valeur //step//, jusque la valeur //stop// exclue. FIXME : → generator depuis python 3 !
-  * La fonction [[https://docs.python.org/2/library/functions.html#enumerate|enumerate]] permet de parcourir les éléments d'une liste en même temps que leur indice, bien plus pratiquement qu'en passant par l'utilisation de range : +  * **La fonction [[https://docs.python.org/2/library/functions.html#enumerate|enumerate]] permet de parcourir les éléments d'une liste en même temps que leur indice, bien plus pratiquement qu'en passant par l'utilisation de range** 
  
 <code python> <code python>
Ligne 410: Ligne 418:
     * [[https://levelup.gitconnected.com/introducing-high-performance-datatypes-in-python-with-the-collections-library-3d8c334827a5|Introducing high-performance datatypes in Python with the collections library]] George Seif, Medium, Oct 15, 2019     * [[https://levelup.gitconnected.com/introducing-high-performance-datatypes-in-python-with-the-collections-library-3d8c334827a5|Introducing high-performance datatypes in Python with the collections library]] George Seif, Medium, Oct 15, 2019
     * [[https://medium.com/better-programming/your-one-stop-guide-to-collections-in-python-4c0b36243561|Your One-Stop Guide to Collections in Python - Make your code awesome using high-order containers]] Felix Antony, Medium, 21/01/2021     * [[https://medium.com/better-programming/your-one-stop-guide-to-collections-in-python-4c0b36243561|Your One-Stop Guide to Collections in Python - Make your code awesome using high-order containers]] Felix Antony, Medium, 21/01/2021
 +    * [[https://towardsdatascience.com/write-ultra-concise-code-with-python-collections-ab79f03bb54|Write Ultra-Concise Code with Python collections | by Thomas Hikaru Clark | Oct, 2021 | Towards Data Science]] Thomas Hikaru Clark, Medium, 11/10/2021
 +
  
 Des types non intégrés par défaut dans Python peuvent facilement être implémentés, en utilisant les types répandus. C'est pas exemple le cas des [[https://fr.wikipedia.org/wiki/Arbre_enracin%C3%A9|arbres]] (informatique, théorie des graphes) : Des types non intégrés par défaut dans Python peuvent facilement être implémentés, en utilisant les types répandus. C'est pas exemple le cas des [[https://fr.wikipedia.org/wiki/Arbre_enracin%C3%A9|arbres]] (informatique, théorie des graphes) :
Ligne 636: Ligne 646:
   * [[https://realpython.com/absolute-vs-relative-python-imports/|Absolute vs Relative Imports in Python]]   * [[https://realpython.com/absolute-vs-relative-python-imports/|Absolute vs Relative Imports in Python]]
   * [[https://medium.com/dev-genius/importing-packages-in-python-fb3f4a64ed14|Importing Packages in Python - Exploring different ways to import packages in Python]] Indhumathy Chelliah, Medium, Oct 24, 2020   * [[https://medium.com/dev-genius/importing-packages-in-python-fb3f4a64ed14|Importing Packages in Python - Exploring different ways to import packages in Python]] Indhumathy Chelliah, Medium, Oct 24, 2020
 +  * [[https://medium.com/techtofreedom/3-key-skills-for-handling-modules-in-python-d644c5e5682|3 Key Skills for Handling Modules in Python]] by Yang Zhou, TechToFreedom, Mar, 2021, Medium
 +
   * ...   * ...
  
Ligne 683: Ligne 695:
 → [[print_format|Impressions avec la méthode .print()]] → [[print_format|Impressions avec la méthode .print()]]
  
-FIXME : cf. [[https://datawhatnow.com/things-you-are-probably-not-using-in-python-3-but-should/]] (f-strings vs format)+FIXME **intégrer f-string !**: cf.  
 +  * [[https://datawhatnow.com/things-you-are-probably-not-using-in-python-3-but-should/]] (f-strings vs format) 
 +  * [[https://python.plainenglish.io/become-a-master-of-string-formatting-in-python3-252334a8269a|Become a Master of String Formatting in Python3]] by Maxence LQ, Python in Plain English, 25/05/2021 
  
 Références : Références :
Ligne 702: Ligne 717:
 Une fois l'utilisation achevée du fichier, il est important de fermer le fichier par la commande "f.close()" des erreurs peuvent subvenir sur le système de fichier si ce n'est pas fait correctement pour les fichiers en écriture surtout. Une fois l'utilisation achevée du fichier, il est important de fermer le fichier par la commande "f.close()" des erreurs peuvent subvenir sur le système de fichier si ce n'est pas fait correctement pour les fichiers en écriture surtout.
  
-Il est recommandé d'ouvrir le fichier en utilisant la commande "with", qui garantit la fermeture du fichier après exécution du code indenté, même en cas d'erreur : +**Il est recommandé d'ouvrir le fichier en utilisant la commande "with", qui garantit la fermeture du fichier après exécution du code indenté, même en cas d'erreur** 
  
 <code python> <code python>
Ligne 742: Ligne 757:
 </code> </code>
  
-Les mots-clés du langage n'utilisent que les caractères du jeu historique ASCII. Un programme Python peut utiliser des chaînes de caractère utilisant un codage sur plus d'un octet (unicode). Python 3 utilisant des techniques différentes de Python 2 pour cela, et vu l'obsolescence progressive de cette dernière branche, les traitements particuliers de codage/décodage ne seront pas explicités. Sinon, //cf.// [[http://www.pythoncentral.io/python-unicode-encode-decode-strings-python-2x/|cette référence]].+Les mots-clés du langage n'utilisent que les caractères du jeu historique ASCII. Un programme Python peut utiliser des chaînes de caractère utilisant un codage sur plus d'un octet (unicode). Python 3 utilisant des techniques différentes de Python 2 pour cela, et vu l'obsolescence de la branche 2, les traitements particuliers de codage/décodage ne seront pas explicités. 
 + 
 +==== Références ==== 
 + 
 +  * [[http://www.pythoncentral.io/python-unicode-encode-decode-strings-python-2x/]] (2013) 
 +  * [[https://realpython.com/courses/python-unicode/|Unicode in Python: Working With Character Encodings (9 Lessons)]], Real Python, Christopher Trudeau (2020) 
 + 
  
 ===== La complexité algorithmique ===== ===== La complexité algorithmique =====
Ligne 843: Ligne 865:
 ==== Conseils divers ==== ==== Conseils divers ====
   * [[https://levelup.gitconnected.com/10-python-tips-for-better-code-1bbffde3b44d|10 Python Tips For Better Code]] (Abhay Parashar, Medium, 17/12/2020)   * [[https://levelup.gitconnected.com/10-python-tips-for-better-code-1bbffde3b44d|10 Python Tips For Better Code]] (Abhay Parashar, Medium, 17/12/2020)
 +  * [[https://somacdivad.medium.com/3-tips-for-writing-pythonic-code-b090956a6107|3 Tips For Writing Pythonic Code]] David Amos, Medium, 17/03/2022
  • teaching/progappchim/notions_fondamentales.txt
  • Dernière modification : 2023/05/03 08:39
  • de villersd