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 [2019/08/28 22:31] – villersd | teaching:progappchim:notions_fondamentales [2020/04/14 10:50] – [Fonctions prédéfinies] villersd |
---|
| |
==== Scripts ou programmes Python, où les conserver, et comment les nommer : ==== | ==== Scripts ou programmes Python, où les conserver, et comment les nommer : ==== |
il est utile de donner des noms de programmes signifiants, d'éviter les espaces et caractères spéciaux dans les noms, d'utiliser systématiquement l'extension ".py" et de les classer en répertoires suivant leur rôle ou utilité (exercice, exemple simple, application de calcul, utilisation graphique, interface,...). Python propose des lignes directrices sur le style d'écriture des programmes, mettant en avant la lisibilité. Il s'agit de la [[https://www.python.org/dev/peps/pep-0008/|pep8]]. | il est utile de donner des noms de programmes signifiants, d'éviter les espaces et caractères spéciaux dans les noms, d'utiliser systématiquement l'extension ".py" et de les classer en répertoires suivant leur rôle ou utilité (exercice, exemple simple, application de calcul, utilisation graphique, interface,...). |
| |
| Python propose des lignes directrices sur le style d'écriture des programmes, mettant en avant la lisibilité. Il s'agit de la [[https://www.python.org/dev/peps/pep-0008/|pep8]]. Le document du [[https://blog.impulsebyingeniance.io/outils-et-bonnes-pratiques-pour-un-code-python-de-bonne-qualite/|blog ingeniance]] donne les quelques recommandations les plus importantes, en français. Le site Real Python propose un tuto : [[https://realpython.com/python-pep8/|How to Write Beautiful Python Code With PEP 8]] |
| |
| |
===== Structures conditionnelles et répétitives ===== | ===== Structures conditionnelles et répétitives ===== |
* Longueur (nombre de caractères) d'une chaîne : <code>len(c)</code> | * Longueur (nombre de caractères) d'une chaîne : <code>len(c)</code> |
* Conversion en nombre (donnée numérique créée à partir d'une chaîne de caractères) : int("587"), float("3.14") | * Conversion en nombre (donnée numérique créée à partir d'une chaîne de caractères) : int("587"), float("3.14") |
| * Concaténation d'une liste de chaîne : |
| <code> |
| strings = ['A', 'bac', 'cali', 'jkppl'] |
| text = ''.join(strings) |
| print(text) |
| </code> |
| |
Les caractères Unicode étant considérés comme abstraits dans Python 3, leur encodage (UTF-8, UTF-16,...) n'est à prendre en considération que si on utilise la méthode [[https://docs.python.org/3/library/stdtypes.html?highlight=encode#string-methods|.encode]] pour les convertir en bytes. | Les caractères Unicode étant considérés comme abstraits dans Python 3, leur encodage (UTF-8, UTF-16,...) n'est à prendre en considération que si on utilise la méthode [[https://docs.python.org/3/library/stdtypes.html?highlight=encode#string-methods|.encode]] pour les convertir en bytes. |
| |
| |
Consulter la [[https://docs.python.org/2/library/collections.html|documentation officielle]], et ces liens ([[http://pymbook.readthedocs.org/en/latest/collections.html|1]], [[https://pymotw.com/2/collections/counter.html|2]]), [[https://dzone.com/articles/python-201-whats-a-deque|3]] | Consulter la [[https://docs.python.org/2/library/collections.html|documentation officielle]], et ces liens ([[http://pymbook.readthedocs.org/en/latest/collections.html|1]], [[https://pymotw.com/2/collections/counter.html|2]], [[https://dzone.com/articles/python-201-whats-a-deque|3]], [[https://towardsdatascience.com/the-most-undervalued-standard-python-library-14021632f692|4]]) |
| |
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) : |
===== Fonctions prédéfinies ===== | ===== Fonctions prédéfinies ===== |
| |
* input() permet d'entrer des données au clavier. raw_input entre une chaîne de caractères (on peut dans certains cas la convertir par int() ou float()...) | * input() permet d'entrer des données au clavier. On peut dans certains cas convertir la chaîne rentrée par int() ou float(), selon le type attendu. |
| |
| <code python> |
| li = input("Donnez une température (en °C) ? ") |
| print(li, type(li)) |
| temp = float(li) |
| print(temp, type(temp)) |
| </code> |
| |
* Importer un module de fonctions. Exemples : from math import * --> les fonction abs, sqrt, sin,... deviennent accessibles ! Essayez par exemple ceci : | * Importer un module de fonctions. Exemples : from math import * --> les fonction abs, sqrt, sin,... deviennent accessibles ! Essayez par exemple ceci : |
| |
FIXME | FIXME |
| |
| * Try ... Except : |
| * [[https://medium.com/better-programming/how-to-start-using-try-statements-in-python-5043fe69058d]] |
* https://realpython.com/python-keyerror/ | * https://realpython.com/python-keyerror/ |
* ... | * ... |