Utilisateur:Regards sur sciences/Python

Une page de Wikiversité, la communauté pédagogique libre.

Traits généraux[modifier | modifier le wikicode]

  • Typage dynamique: l'interprète détermine le type à la volée lors de l'exécution du code.
  • Principe d'indentation.
  • Portée lexicale : lorsqu'une expression fait référence à une variable à l'intérieur d'une fonction, Python cherche la valeur définie à l'intérieur de la fonction et à défaut la valeur dans l'espace global.
  • Appel de fonction par valeur : l'exécution de f (e) évalue d'abord l'expression e puis exécute f avec la valeur obtenue. Certaines valeurs sont des scalaires (booléens, entiers, etc.) d'autres des adresses (listes, objets, etc.).

Types de base[modifier | modifier le wikicode]

  • Opérations sur les entiers (int) : —. *. //. **. % avec des opérandes positifs.
  • Opérations sur les flottants (f bat) —. *. /. **.
  • Opérations sur les booléens (bool) : flot, or. and (et leur caractère paresseux). * Comparaisons

Types structurés[modifier | modifier le wikicode]

  • Structures indicées immuables (chaînes, n-uplets) : len, accès par indice positif valide, concaténation +, répétition *, extraction de tranche.
  • Listes : création par compréhension [e for x in si, par [e] * n, par append successifs; len, accès par indice positif valide; concaténation +, extraction de tranche, copie (y compris son caractère superficiel); pop en dernière position. Identification des tableaux et des listes.
  • Dictionnaires : création {Ci : Vi, ..., c, : v}, accès, insertion (d[k] = y), présence d'une clé (k in d), len, copy
  • Ensembles : création set(), insertion (add), présence d'un élément (e in s), len. Divers
  • Annotations de types. Vérification statique avec un outil tel que mypy.
  • Manipulation de fichiers texte (la documentation utile de ces fonctions doit être rappelée; tout problème relatif aux encodages est éludé) : open. read. readiine. readlines. spiit. write. close. Construction with.
  • Tirage pseudo-aléatoire avec la fonction randint du module random.

Structures de contrôle[modifier | modifier le wikicode]

  • Instruction d'affectation avec =. Dépaquetage de n-uplets.
  • Instruction conditionnelle : if. el if. else.
  • Boucle while (sans else). break, continue. return dans un corps de boucle.
  • Boucle for (sans else) et itération sur range (o, 1)), une chaîne, un n-uplet, une liste, un dictionnaire au travers des méthodes keys et items.
  • Définition d'une fonction def f(x1.....x), return.
  • Exceptions : lever une exception avec raise, la rattraper avec try/except.

Programmation objet[modifier | modifier le wikicode]

  • Classe, constructeur (__init__ avec un premier argument self), attributs.
  • Méthodes (avec un premier argument self).
  • Encapsulation de données dans un objet.
  • Application: construction de structures chaînées (cellules de listes) et arborescentes (noeuds d'arbres).
  • Utilisation de None comme pointeur nul, comparaison avec is None. Encapsulation de la structure dans une autre classe.
  • Héritage.

Divers[modifier | modifier le wikicode]

  • Introduction d'un commentaire avec #.
  • Utilisation simple de print, sans paramètre facultatif.
  • Importation de modules avec import module ou import module as alias ou f rom module import f,g,...

Assertion[modifier | modifier le wikicode]

  • assert