Vous êtes sur la page 1sur 7

Synthèse programmation : Python

Cours 1 : Bases
 Pour faire un commentaire, placer ‘#’ avant la phrase
 Une variable est une zone mémoire stockant des valeurs. Elle est caractérisée par :
o Un nom : spécifié à la première affectation (commence tjrs par une lettre).
Clean code : pas de majuscules, d’accents, de caractères spéciux (sauf ‘_ ‘) et
si possible en Anglais.
o Un type : natif, None (pas de valeur), Booléen (vrai ou faux), entier (int), réel
(float), complexe, séquences (chaîne de caractère, liste, Tuple, Range),
dictionnaires
 On peut affecter une variable avec une constante littérale ou un résultat
d’expression. Si la variable est muable (pas fixe), on peut changer la valeur au cours
du script. Si immuable, on peut changer sa valeur mais pas l’originale
 Python = language à typage dynamique implicite fort :
o Dynamique><Statique : le type de la variable est automatiquement modifiée
si il est changé au cours du scipt><il n’st pas automatiquement changé au
cours du script
o Implicite><Explicite : l’interpéteur devine le type><on doit préciser le type
o Fort><Faible : On ne peut pas faire des opérations entre des types
différents>< on peut !
 Input/Output = input/print (fonctions)
 Pour convertir un type : int(),float(),str()
 On peut concaténer des chaînes de caractères avec ‘+’
 Différentes expressions arythmétiques :

+ Addition
- Soustraction
* multiplication
** Exposant
/ Division
// Reste de division euclidienne
% Entier de division euclidienne

Cours 2 : Structures de contrôle


 Alternatives simple (si… alors…), double (si… alors… sinon…) et multiple (cas1, cas2,…)
 True et False sont des booléens définit des pase dans python (binaire)
 Opérateurs de comparaison : (== ; != ; < ; > ; <= ; >= ; is (référence le même objet) ; is
not (ne référence pas le même objet))
 Alternatives :
if <condition> :
#séquence d’instruction
else :
#séquence d’instruction
 Alternatives multiples : utiliser le ‘elif’
 and (AND logique), or (OR logique), not (inverseur logique)
 On peut faire des boucles avec ‘while’
 Rupture de séquence avec ‘break’ (à éviter)

Cours 3 : Fonctions
 Une fonction est une séquence d’instructions pouvant être éxécutées
indépendament
 Il existe des fonctions natives à python (print, input, type,…)
 Une fonction est caractérisée par un nom, des paramètres d’entrée et des
paramètres de sortie

def <name> (<paramètres>) :


<body>

 La définition n efait pas apparaître la fonction, il faut l’appeler pour l’utiliser (comme
une fonction quoi)
 Paramètres :
o paramètre formel : les trucs entre parenthèses
o paramètres effectifs : lors de l’appel de la fonction entre les parenthèses
o paramètres facultatifs : <name> = <value> (entre parenthèse, donnant
<value> si pas de paramètre donné)
 Pour renvoyer une valeur et pouvoir la réutiliser, on utilise ‘return’ (ça arrête aussi la
fonction)
 Fonction sans retour = procédure (fait qq chose) ; Fonction avec retour = expression
(renvoie qq chose)
 On peut imbriquer les fonctions mais il faut faire attention à la récursion
 Clean code : fonction sans retour : nom = verbe ; fonction avec retour : nom = ce
qu’elle vaut
 Clean code : si on va chercher une variable globale (en dehors de la fonction), utiliser
en paramètre
 Par défaut et sans retour, une fonction renvoie ‘None’

Cours 4 : Les séquences


 Les séquences sont un type de variable
 Muable : qui peut être modifié ; Immuable : qui ne peut pas être modifié
 Homogène : les éléments dans la séquence sont du même type
 Hétérogène : les éléments dans la séquence peuvent être de types différents

Muable Immuable
Homogène / Chaine de caractères, Range
Hétérogène Liste Tuple

 Une séquence est une donnée composite (rassemble des éléments simples) et
ordonnée (l’ordre à une importance)
 La position d’un élément dans une séquence est définie par son indice (le premier =
0 ; pour partir de la fin, l’indice est négatif)
 Slicing dans les séquences : <name>[<indice_de_départ>,<indice_de_fin>,<step>]
 La comparaison de séquences (<,>,==), permet de déterminer si une chaine de
caractère est avant ou après (ordre lexicographique)
 Parcours de séquences :
 Opérateurs communs aux séquences :

x in s Renvoie True si s est égal à x


x not in s Renvoie False si s est égal à x
s+t concatène s et t
s*n multiplie les éléments de n, s fois
s[i] ième élément de n par s
s[i:j] tranche de i à j (j exclu)
s[i:j:k] tranche de i à j (j exclu) en faisant élément sur k
len(s) renvoie la longueur de la séquence s
min(s) renvoie le plus petit élément de s
max(s) renvoir le plus grand élément de s
s.index(x,i,j) indice de la première occurence de x dans s (donne l'indice de
l'élément en paramètre) i = à partir de ; j = jusqu'à
s.count(x) nombre total d’occurrences de x dans s

 Parcours de listes :

 Les listes n’ont pas une taille fixe


 Opérations pour les séquences muables (listes) :

s[i] = x Remplace l’élément en i par x


s[i:j] = x Remplace les éléments de i à j par x
del s[i:j] Supprime les éléments de i à j
s[i:j:k] = x Remplace un élément sur k de i à j
s.append(x) Ajoute x à la fin de la séquence
s.clear() Vide la liste
s.copy() Crée une copie de s identique
s.extend(x) ou s += x étend s avec le contenu de x
s*=x Dupplique les éléments x fois
s.insert(i,x) Insère x dans s à l’index i
s.pop([i]) Récupère l’élément à i et le supprie
s.remove(x) Supprime le premier x de s
s.reverse() inverse la séquence

 Les chaines de caractères sont de taille fixe


 Slicing : message = message[i:j]
 Parcours de chaine de caractères :
 Tuple = liste immuable
 Tuple vide : tup = ()
 Tuple d’un élément : tup = (elem,)
 Slicing classique
 Parcours de Tuple :

 Déballage de Tuple en variable : a,b,c,d,e = tup


 *var = met tout ce qui n’a pas été pris dans var
 _ = ignore la valeur
 Série/Range sont générés par une fonction : range = range(start, stop, step)
 Parcours de Range :

 fonction ord(x) : renvoie le nombre entier représentant le code unicode de x


 fonction chr(x) : renvoie le caractère représenté son code unicode (ici x)

Vous aimerez peut-être aussi