CPGE LANGAGE PYTHON
PYTHON
Commentaires
# Ceci est un commentaire
Typage en Python
Python est un langage à typage dynamique. Ceci ne veut pas dire que les données que l’on manipule ne sont pas
typées, mais que leur type est «calculé» lors de leur utilisation. Dans ce contexte, le type des variables n’est pas
défini explicitement par l’utilisateur. Ainsi, une même variable peut référencer dans un programme des objets de
types différents.
Opérateurs arithmétique
x=x+y x=x*y x=x/y x=x%y x = x ** y
x += y x *= y x /= y x %= y x **= y
Opérateurs logique : and, or, not
Opérateurs de comparaison : == (égalité), != (différent), >, >=,<,<=
Indexation Python :
-14 -13 -12 -11 -10 -9 -8 -7 -6 -5 -4 -3 -2 -1 Indexes négatifs
L A N G A G E P Y T H O N
0 1 2 3 4 5 6 7 8 9 10 11 12 13 Indexes positifs
Découpage en tranches (slicing )
L’opérateur [ ] avec 2 ou 3 index séparés par le caractère : permet d’extraire des tranches.
[debut : fin : pas] (de debut, a fin (non inclus) par pas)
Les itérateurs
Un itérateur est un objet qui permet de parcourir tous les éléments contenus dans un autre objet, le plus souvent un
conteneur (chaine, list, tuple, …,etc.). Un synonyme d'itérateur est curseur, notamment dans le contexte des bases
de données.
La fonction range()
La fonction range() permet de créer un itérateur.
range(N) =*0,1,2,…,N*
range(a,b)=[a,a+1,….,b[
range(a,b,r)=*a,a+r,a+2r,…,b*
A.M.
CPGE LANGAGE PYTHON
Les séquences
Définition : Une séquence est un conteneur ordonne d’éléments indexés par des entiers indiquant leur position
dans le conteneur. Python dispose de 3 types prédéfinis de séquences :
Les chaines de caractères
Les listes
Les tuples
Les chaînes de caractères type : str
Définition : Les chaînes de caractères : le type de données non modifiable str représente une séquence de
caractères UNICODE.
Non modifiable : signifie qu’une donnée, une fois créée en mémoire, ne peut plus être changée, toute
transformation résultera en la création d’une nouvelle valeur distincte.
Les chaines de caractères se définissent de plusieurs manières en Python :
>>>x = ’Une chaine de caractères’
>>>y = "C’est une chaine de caractères!"
>>>z = ’’’C’est une
chaine de caractères
définie sur plusieurs lignes’’’
Concaténation
La concaténation de ces chaînes de caractères peut prendre deux formes. Dans les deux cas, l’opérateur + est utilisé
pour exprimer la concaténation.
Ch1=’bonjour’
Ch2=’tout le monde’
Ch3=ch1+ch2 (ch3=’bonjour tout le monde’)
Répétition
Ch1=’abc’
Ch2=3*ch1 (ch2=’abcabcabc’)
Affichage
L’affichage à l’aide de la fonction print( ) peut se faire en concaténant explicitement des chaînes ou en utilisant une
chaîne de formatage.
Print(expr1,expr2,…,exprN,sep=’car1’,end=’car2’)
car1 : caractère de séparation car2 : caractère affiché a la fin
N.B. : Par défaut, ces expressions seront séparées les unes des autres par un espace, et le tout se terminera par un saut à la ligne.
Les séquences d’échappement
Séquence Signification Séquence Signification
\\ Affiche antislash \n Saut de ligne
\t Tabulation horizontale \a Bip sonore
A.M.
CPGE LANGAGE PYTHON
Fonctions et Méthodes
len() Longueur d’une chaine de caractères
upper() Convertit un texte minuscule en majuscule
lower() Convertit un texte majuscule en minuscule
swapcase() Inverse la casse d’une chaine de caractères
isupper() Teste si un texte est en majuscule (True,False)
islower() Teste si un texte est en minuscule (True,False)
isalnum() Teste si une chaine ne contient que des caractères alphanumériques (True,False)
isalpha() Teste si une chaine ne contient que des caractères alphabétiques (True,False)
isdigit() Teste si une chaine ne contient que des caractères numériques (True,False)
isspace() Teste si une chaine ne contient que des espaces (True,False)
lstrip(),rstrip(),strip() Supprime les espaces a gauche ou a droite ou les deux d’une chaine de caractères
find(sub[,deb[,fin]]) Retourne l’indice de la première occurrence de la chaine sub, retourne -1 sinon
replace(old,new,[,nbre]) Remplace la chaine old par la chaine old, nbre fois dans une chaine (tout par defaut)
Les listes type list
Une liste est une collection ordonnée et modifiable d’éléments éventuellement hétérogènes.
L’accès à un élément d’une liste se fait par indexation.
Syntaxe : Eléments séparés par des virgules et entourés de crochets [].
Exemples : L = *’salut’, 123,-2.4,True] L*0+=’salut’ L[1]=123 L[2]=-2.4 L[3]=True
Création de 2 listes vides :
liste_vide1 = []
liste_vide2 = list()
Opérations sur les listes
L1+L2 : concaténation des listes L1 et L2
n*L : concatène n copies de L les unes après les autres.
A.M.
CPGE LANGAGE PYTHON
Les méthodes
count(x) Retourne le nombre d’occurrences de l’élément x dans une liste
index(x) Retourne l’indice de la première occurrence de l’élément x dans une liste, si x n’existe pas une exception est déclenchée
append(x) Ajoute l’élément x a la fin de la liste
extend(K) Ajoute tous les éléments de la liste K à la liste
insert(i,x) Insère l’élément x à la position i dans la liste
remove(x) Supprime la première occurrence de l’élément x dans la liste, si x n’existe pas une exception est déclenchée
pop(i) Retourne l’élément d’indice i et le supprime de la liste, pop() retourne et supprime le dernier élément de la liste
reverse( ) Inverse l’ordre des éléments d’une liste
sort( ) Tri une liste dans l’ordre croissant
Les fonctions
len(L) Retourne le nombre d’éléments de la liste L
min(L) Retourne le plus petit élément de la liste L, résultat imprévisible pour des éléments hétérogènes
max(L) Retourne le plus grand élément de la liste L, résultat imprévisible pour des éléments hétérogènes
sum(L) Retourne la somme des éléments de la liste L
del L[i :j] Supprime les éléments d’indices entre i et j (exclu) del L[i :j] L[i :j]=[ ]
list(x) Convertit l’objet x en liste quand cela est possible
Méthodes entre listes et chaines de caractères
split(‘ch’,max) Découpe une chaine de caractères en max+1 morceaux, ch chaine de séparation (par défaut : espace)
‘ch’.join(seq) Concatène les chaines du conteneur seq en intercalant la chaine ch sur laquelle la méthode est appliquée
Les tuples type tuple
Un tuple est une collection ordonnée et non modifiable d’éléments éventuellement hétérogènes.
Les éléments d’un tuple sont séparés par des virgules et entourés de parenthèses.
Comme les listes, les tuples sont accessibles par indexation, et la construction in permet de tester la présence d’un
élément dans le tuple. Cependant, une fois créé le contenu d’un tuple ne peut être modifié.
Critères de choix entre une liste et un tuple :
Les tuples sont plus rapides à parcourir que les listes.
A.M.
CPGE LANGAGE PYTHON
Pour définir des constantes, utiliser des tuples.
Il est possible de convertir des tuples vers des listes et réciproquement.
T=list((1, 2, 3)) [1, 2, 3] L=tuple([1, 2, 3])
Les dictionnaires type dict
Les dictionnaires appelés aussi tableaux associatifs, sont des ensembles non ordonnés d’éléments indexés par des
clés. Une clé doit obligatoirement être immuable (chaîne, entier ou tuple).
Un dictionnaire est une collection de couples clé : valeur entourée d’accolades.
Remarque : Une clé est toujours unique.
Un dictionnaire est déclaré par deux accolades ou en utilisant le type dict. Il peut être créé vide ou avec des
valeurs initiales.
dictionnaire vide : dico = {} | dico=dict( )
L’ajout et l’accès aux éléments d’un dictionnaire se fait par indexation sur la clé associé à l’élément.
Opérations et méthodes sur les dictionnaires
del dico[clé] Supprime du dictionnaire dico la paire clé : valeur
keys( ) Retourne un itérateur contenant les clés d’un dictionnaire
values( ) Retourne un itérateur contenant les valeurs d’un dictionnaire
items( ) Retourne un itérateur contenant les couples (clé, valeur) d’un dictionnaire
dico[clé]=valeur Modifie la valeur de la clé si elle existe, sinon ajoute la paire (clé, valeur)
dico.get(clé, [valSinon]) Retourne la valeur associée à la clé, ou valSinon si la clé n'existe pas
dico.clear() Vide le dictionnaire
dico.popitem() Retourne le premier couple (clé, valeur) et le supprime du dictionnaire
Fonctions spéciales
enumerate( ) : retourne chaque élément et sa position dans un objet . for indice, valeur in enumerate(L) :
zip( ) : permet de parcourir les éléments de 2 objets en parallèle. for val1, val2 in zip(L1,L2) :
filter() : applique la fonction passée en premier argument sur chacun des éléments de la séquence passée en
second argument et retourne un itérateur qui contient tous les éléments de la séquence pour lesquels la fonction a
retourné une valeur vrai. filter(fonction,list)
map() : retourne un itérateur en appliquant la fonction passée en premier argument sur chacun des éléments des
séquences passées en paramètre. map(fonction,list)
A.M.