====== Aide-mémoire Python ====== ... pour ceux qui connaissent déjà un langage de programmation. ===== Quelques particularités de Python qui sautent aux yeux ===== * Pas de déclaration de type pour les variables : le type est déduit de la première affectation * Les blocs de code sont précédés d'un : et sont composés d'instructions indentées (mais il n'y a pas de ; !) * Les structures de données sont assez inhabituelles pour qui vient d'un langage plus ancien (listes, tuples, dictionnaires...) ===== Structures de données ===== ==== Variable simple ==== * entier * flottant * complexe * booléen On peut forcer le type d'une variable int(), float(), str()... ==== Variable composée ==== ==== Les séquences ==== Ce sont des suites d'objets ordonnées. Il en existe différentes variantes (listes [ ], tuples ( ), chaînes "" ou %%''%%, range). Seules les listes sont modifiables ("mutable"). Les séquences disposent de fonctions communes (appartenance, concaténation, longueur, recherche...) et d'autres qui leur sont spécifiques. === Listes === liste = [] # On peut créer une liste vide liste = [12, True, "Cheval"] # On peut utiliser des types différents liste = [5,3,8] # Nouvelle affectation : on écrase le contenu précédent de la liste liste.append(4) # On ajoute un élément en fin de liste liste.extend([10, 12]) # Étend la liste avec une autre liste x = liste.pop(ix) # Retire l'élément d'indice ix de la liste, on peut l'affecter à une variable. Sans paramètre, dernier élément (soit ix = -1) print(liste[0]) # Premier élément print(liste[-1]) # Dernier élément, lecture depuis la fin avec -2 etc. liste2 = liste[1:3] # Extrait la sous-liste (slice ou tranche) de l'indice 1 (inclu) à 3 (exclu) liste3 = liste[:-1:3] # Extrait un élément sur 3, du début de la liste jusqu'au dernier exclu liste = liste[::-1] # Inverse l'ordre des éléments de la liste del(liste([1]) # Supprime l'élément d'indice 1 liste = liste + liste2 # Concatène deux liste len(liste) # Retourne la longueur (nombre d'éléments) de la liste # Voir aussi : insert, count, index, clear, sort, sorted, reverse, join # Appartenance : in liste.remove(8) # Enlève la première occurrence de 8 dans la liste t = tuple(liste) # conversion de liste en tuple === Tuples === Les tuples sont assez semblables aux listes mais ne sont pas modifiables. tup = () # Création d'un tuple vide tup = (1,2,3,4) tup[1] # Lecture ok tup[1] = 3 # NON, écriture interdite tup = x,y,z # Packing a,b,c,d = tup # Unpacking l = liste(tup) # Conversion de tuple en liste # Voir aussi : remove, insert, index, clear, sort, reverse === Chaînes === ch1 = "toto" ch2 = 'titi' ch3 = ch1 + ch2 print (ch3[3]) long = len(ch3) ch4 = "Utilisation de {0} dans les {1}".format("format", "chaînes") # Depuis Python 2.6 mot1, mot2 = "ce texte", "celui-ci" ch5 = f"Chaîne contenant {mot1} et {mot2}" # f-strings : depuis Python 3.6 === Range === # séquence d'entiers créée à la volée range (4, 10, 2) # décrit les entiers 4, 6, 8 === Dictionnaires === ===== Structures de contrôle ===== var = input ("tapez une valeur") print ("la valeur était {0}".format(var)) if temp > 100: etat = "gazeux" elif temp > 0: etat = "liquide" else: etat = "solide" for i in liste: print (i) for i in range(2,20,4): print (i) fact = 1 i = 2 n = 12 while i <= n: fact = fact * i i += 1 else: # bloc optionnel exécuté en sortie de boucle print("somme:",s) Dans les boucles, break permet de sortir directement de la boucle et de passer à la suite ; continue passe à l'itération suivante en restant dans la boucle (et en ne traitant pas la fin de l'itération en cours). # List comprehension liste = [1,2,5,-3,6,7,-4,-8,9] pairs = [n for n in liste if n%2 == 0] === Exceptions === ===== Fonctions ===== Affichage : print (i, end='') # pour ne pas passer à la ligne après l'affichage ===== Modules, Packages =====