Outils pour utilisateurs

Outils du site


prog:python:python-support

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

prog/python/python-support.txt · Dernière modification : 2020/12/02 09:29 de jbpuel