Académique Documents
Professionnel Documents
Culture Documents
Achref El Mouelhi
elmouelhi.achref@gmail.com
1 Introduction
2 PEP
3 Console Python
4 Variables
Déclaration
Type
Identité
Opérations sur les variables
Suppression
5 Lecture d’une saisie
6 Fichiers de code Python
8 Commentaires
9 Structures conditionnelles
if
if ... else
if ... elif ... else
pass
13 Fonctions
Déclaration et appel
Fonction récursive
Fonction à multi-valeurs de retour
Fonction retournant une fonction
Type
Paramètres avec valeur par défaut
Opérateur *
Opérateur **
Paramètre kwargs
Fonction de retour (callback)
Fonction génératrice
Variables locales et globales
Fonction Lambda
14 Documentation
help
Documentation HTML
Documentation et introspection
15 Constantes
16 Émulation du switch
17 Pylint
Python
Python ?
langage de programmation
I
c
orienté objet et procédural
EL H
fortement typé (Impossible de concatU
MO
éner une chaı̂ne et un entier
L
sans convertir l’entier en chaı̂ne)
fE
interprété
c h r e
à typageA
c dynamique
Python
Python, pourquoi ?
Langage de haut niveau, doté de
Énorme communauth
c é : r
unedes langages les plus utilisés dans le monde
c A
(https://www.tiobe.com/tiobe-index/)
Permettant de développer des programmes :
Python
Python : multi-domaine
I
c
E
Développement Web : disposant des frameworks
H
L très évolués et
U
très populaires comme Django
L MO
Data : très utilisé en e
r Big E Machine Learning et Data Science
f Data,
A h
c simples à exécuter dans une console
c
Script : instructions
Python
I c
public class Main {
H
print("Hello world")
EL
U
MO
public static void main (String [] args) {
E
System.out.print("Hello world");
f L
}
chre
} c A
Python
Quelques versions de Python
Python 1 (sortie en 1991)
Introduction
I c
ELH
Python : téléchargement
U
L
https://www.python.org/downloads/ MO
h r e fE
A c
c
Python
Python
Python
Python
Consoles Python
I c
Allez dans la barre de recherche de Windows
EL H
U
Cherchez
L MO
r e f laEconsole (invite de commandes), ou
Python 3.8 et ouvrez
h
A c 3.8 et ouvrez la console (Power Shell)
IDLE Python
c
Python
Remarques
I c
Une instruction Python commence par >>>
E>>>LH
Le résultat de l’instruction est affiché à la ligne U
MO
sans
fE L
c h r e
c A
Python
Remarques
I c
Une instruction Python commence par >>>
E>>>LH
Le résultat de l’instruction est affiché à la ligne U
MO
sans
fE L
h
Afficher Hello worldcen Python
r e
c Aworld")
>>> print("Hello
Hello world
Python
I c
Copier/coller un code multi-lignes fonctionne avec la console mais pas avec l’IDLE
print(somme(2, 3))
f E L
chre
c A
Il faut configurer pour récupérer l’historique des commandes lancées depuis un IDLE
Il est possible de stocker l’historique des commandes lancées depuis un IDLE dans un
fichier
Python
c h
ipython (https://ipython.org/)
A : une console orientée data
facilitantcla visualisation
de données et intégrant des outils de
haute performance pour les calculs parallèles.
Python
Python
Python
Une variable ?
Python
Une variable ?
Python
Python
>>> x = 2
I c
ELH
U
L MO
f E
chre
c A
Python
>>> x = 2
I c
ELH
Pour afficher une variable
U
>>> x
L MO
f E
hre
2
c
c A
Python
>>> x = 2
I c
ELH
Pour afficher une variable
U
>>> x
L MO
f E
hre
2
A c
c
Pour utiliser une variable
>>> x + 3
5
Python
>>> a = b = c = 1
I c
ELH
U
L MO
f E
chre
c A
Python
>>> a = b = c = 1
I c
L H
U prE
MO
Pour afficher les valeurs respectives des variables écédentes
>>> a, b, c
fE L
(1, 1, 1)
c h r e
c A
Python
>>> a = b = c = 1
I c
L H
U prE
MO
Pour afficher les valeurs respectives des variables écédentes
>>> a, b, c
fE L
(1, 1, 1)
c h r e
c A
Pour déclarer plusieurs variables et leur affecter des valeurs différentes
>>> d, e, f = 1, 2, "bonjour"
Python
I c
>>> x = ’bonjour’
ELH
U
L MO
f E
chre
c A
Python
I c
>>> x = ’bonjour’
ELH
U
L MO
f E
hre
Pour déterminer le type d’une variable
c
>>> type(x)
<class ’str’> c A
Python
Booléen : bool
I c
Numérique : int, float, complex
ELH
U
Texte : str
L MO
f E
hre
Binaires : bytes, bytearray, memoryview
c
c A
Multi-valeurs : array, list, tuple
Ensemble : set
Ensemble clé-valeur : dict
Python
Exemple avec les booléens
>>> type(True)
<class ’bool’>
I c
ELH
U
L MO
f E
chre
c A
Python
Exemple avec les booléens
>>> type(True)
<class ’bool’>
I c
ELH
Exemple avec les nombres réels OU
L M
>>> type(2.8)
<class ’float’> hre
fE
A c
c
Python
Exemple avec les booléens
>>> type(True)
<class ’bool’>
I c
ELH
Exemple avec les nombres réels OU
L M
>>> type(2.8)
<class ’float’> hre
fE
A c
c
Exemple avec les nombres complexes
>>> type(2j)
<class ’complex’>
Python
Python
Pour tester si une valeur est de certain type
>>> isinstance(True, bool)
True
I c
ELH
U
L MO
f E
chre
c A
Python
Pour tester si une valeur est de certain type
>>> isinstance(True, bool)
True
I c
ELH
U
MO
Exemple 2
>>> isinstance(2.5, int)
f E L
False
chre
c A
Python
Pour tester si une valeur est de certain type
>>> isinstance(True, bool)
True
I c
ELH
U
MO
Exemple 2
>>> isinstance(2.5, int)
f E L
False
chre
c A
Exemple 3
>>> isinstance(2, float)
False
Python
Python
Python
Python
Exemple
I c
>>> x=2
ELH
>>> y=2 U
>>> x,y
L MO
f E
hre
(2, 2)
>>> id(x), id(y) c
c A
(1571223488, 1571223488)
Python
Python
Exemples
>>> 5+2
7
>>> 5* 2
I c
10
ELH
U
MO
>>> 5/2
2.5
f E L
hre
>>> 5//2
2
c
>>>
25
5**2
c A
>>> 5%2
1
>>>
Python
Python
I c
Exercice
EL H
U
O le contenu de deux
Mpermuter
Écrire un script Python qui permet de
L
h r e f Eème.
variables dans utiliser une troisi
A c
c
Python
Première solution
>>> a += b
>>> a=2
>>> b=3
>>> a+=b
I c
>>>
>>>
b=a-b
a-=b
ELH
U
MO
>>> a,b
(3, 2)
f E L
chre
c A
Python
Première solution
>>> a += b
>>> a=2
>>> b=3
>>> a+=b
I c
>>>
>>>
b=a-b
a-=b
ELH
U
MO
>>> a,b
(3, 2)
f E L
chre
c A
Deuxième solution (on peut également entourer a,b par des () ou [])
>>> a=2
>>> b=3
>>> a,b = b,a
>>> a,b
(3, 2)
I c
ELH
U
L MO
f E
chre
c A
c
c A
>>> str3 * 4
’bonjourbonjourbonjourbonjour’
c
c A
>>> str3 * 4
’bonjourbonjourbonjourbonjour’
Multiplier une chaı̂ne de caractères par une deuxième chaı̂ne déclenche une erreur
Python
Pour créer une chaı̂ne de caractères dont la valeur est définie sur
plusieurs lignes
>>> msg=’hello\
... world’
>>> msg I c
’helloworld’
ELH
U
L MO
f E
chre
c A
Python
Pour créer une chaı̂ne de caractères dont la valeur est définie sur
plusieurs lignes
>>> msg=’hello\
... world’
>>> msg I c
’helloworld’
ELH
U
L MO
f E
reles """
A c h
On peut également utiliser
c
>>> msg2="""bonjour
... tout
... le
... monde"""
>>> msg2
’bonjour\ntout\nle\nmonde’
Python
Python
Python
Pour extraire les caractères de la position 2 jusqu’à la fin
>>> str3[2:]
’njour’
I c
ELH
U
L MO
f E
chre
c A
Python
Pour extraire les caractères de la position 2 jusqu’à la fin
>>> str3[2:]
’njour’
I
c
Eà L H
O U
Pour extraire les caractères du début jusqu’ la position 4
>>> str3[:4] L M
’bonj’
ref E
c h
c A
Python
Pour extraire les caractères de la position 2 jusqu’à la fin
>>> str3[2:]
’njour’
I
c
Eà L H
O U
Pour extraire les caractères du début jusqu’ la position 4
>>> str3[:4] L M
’bonj’
ref E
c h
c A
Pour extraire les caractères entre la position 2 et 4 en
commençant de la fin
>>> str3[-4:-2]
’jo’
Python
Pour récupérer la taille d’une chaı̂ne de caractères
>>> len(str3)
7
I c
ELH
U
L MO
f E
chre
c A
Python
Pour récupérer la taille d’une chaı̂ne de caractères
>>> len(str3)
7
I c
E L H
U
Pour remplacer une partie de la chaı̂ne par une autre
L
>>> str3.replace(’jour’,’soir’) MO
’bonsoir’
h r e fE
A c
c
Python
Pour récupérer la taille d’une chaı̂ne de caractères
>>> len(str3)
7
I c
E L H
U
Pour remplacer une partie de la chaı̂ne par une autre
L
>>> str3.replace(’jour’,’soir’) MO
’bonsoir’
h r e fE
A c
c
Pour découper une chaı̂ne de caractère selon un séparateur
précisé
>>> str3.split(’o’)
[’b’, ’nj’, ’ur’]
I c
find(x) : retourne l’indice de la première occurrence de x dans la chaı̂ne, -1 sinon.
ELH
U
contains() : retourne true si la chaı̂ne contient x, false sinon.
L MO
upper() : convertit une chaı̂ne de caractères en majuscule
f E
hre
lower() : convertit une chaı̂ne de caractères en minuscule
c
c A
strip() : supprime les espaces au début et à la fin
startswith(x) : retourne true si la chaı̂ne commence par x, false sinon.
...
Python
I
c
H
EL sont alphanumériques
isupper() : vérifie si tous les caractères d’une chaı̂nes sont en majuscule
isnumeric() : vc h
c A
érifie
isspace() : vérifie si tous les caractères d’une chaı̂nes sont des espaces
...
Python
Pour certains opérateurs, ceci génère une erreur
>>> 2 + ’3’
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
c
TypeError: unsupported operand type(s) for +: ’int’ and ’str’
I
ELH
U
L MO
f E
chre
c A
Python
Pour certains opérateurs, ceci génère une erreur
>>> 2 + ’3’
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
c
TypeError: unsupported operand type(s) for +: ’int’ and ’str’
I
ELH
U
MO
Pour additionner un nombre te une chaı̂ne de caractère, on peut convertir la chaı̂ne en
L
entier
f E
>>> 2 + int(’3’)
chre
c A
5
Python
Pour certains opérateurs, ceci génère une erreur
>>> 2 + ’3’
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
c
TypeError: unsupported operand type(s) for +: ’int’ and ’str’
I
ELH
U
MO
Pour additionner un nombre te une chaı̂ne de caractère, on peut convertir la chaı̂ne en
L
entier
f E
>>> 2 + int(’3’)
chre
c A
5
Pour faire la concaténation
Python
Python
Python
h r e fE
>>> x
A c recent call last):
c
Traceback (most
File "<stdin>", line 1, in <module>
NameError: name ’x’ is not defined
Python
I c
ELH
U
L MO
f E
chre
c A
Python
I c
E L H
On peut ajouter un message indicatifO U
L M
>>> x = input(’Quel est
r e f E votre nom ?\n’)
A c h
c
Python
I c
E L H
On peut ajouter un message indicatifO U
L M
>>> x = input(’Quel est
r e f E votre nom ?\n’)
A c h
c
Pour lire une saisie numérique (entier par exemple)
>>> num1 = int(input(’saisir un nombre’))
Python
Python
I c
PyCharm (Pour télécharger :
ELH
U
https://www.jetbrains.com/fr-fr/pycharm/download/#section=windows)
Eclipse
L MO
f E
hre
Visual Studio Code (À ne pas confondre avec Visual Studio)
c
...
c A
Python
Python
Démarche
Python
Démarche
Python
Démarche
Python
Exercice I
c
H
ELde saisir deux
U
MO comme suit : la somme
Écrire un script Python qui demande à l’utilisateur
de 2 et 3 est : 5. 2eetf 3E
L
nombres et affiche le résultat de la somme
étant des valeurs saisies par
c h r
l’utilisateur.
c A
Python
f E L
c hre
c A
Python
f E L
c hre
Remarque c A
Python ajoute un espace après chaque paramètre de la fonction
print().
Python
c
Pour modifier le séparateur, on utilise l’option sep (ici c’est -)
I
x = int(input(’Première valeur’))
EL H
U
MO
y = int(input(’Deuxième valeur’))
L
fx,E’et’, y, ’est :’, resultat,
resultat = x + y
r
print(’la somme de’,
sep="-") Ac h e
c
Python
Solution avec le formatage de la chaı̂ne de sortie en utilisant %
comme en langage C
x = int(input(’Première valeur’))
y = int(input(’Deuxième valeur’))
I c
resultat = ’la somme de
H
%d et %d est : %d’
EL
print(resultat % (x, y, x + y))
U
L MO
f E
c hre
c A
Python
Solution avec le formatage de la chaı̂ne de sortie en utilisant %
comme en langage C
x = int(input(’Première valeur’))
y = int(input(’Deuxième valeur’))
I c
resultat = ’la somme de
H
%d et %d est : %d’
EL
print(resultat % (x, y, x + y))
U
L MO
f E
c hre
Autres options c A
%s pour str
%f pour float
...
Python
f E L
c hre
c A
Python
f E L
c hre
3.6)
c A
Un raccourci de l’écriture précédente (disponible depuis Python
x = int(input(’Première valeur’))
y = int(input(’Deuxième valeur’))
print(f’la somme de {x} et {y} est : {x + y}’)
Python
Commentaire
texte ignoré par le compilateur
I c
ELH
U
L MO
f E
chre
c A
Python
Commentaire
texte ignoré par le compilateur
I c
ELH
U
MO
Syntaxe
# le texte suivant sera ignoré
f E L
chre
c A
Python
Commentaire
texte ignoré par le compilateur
I c
ELH
U
MO
Syntaxe
# le texte suivant sera ignoré
f E L
chre
c A
Remarque
Python n’a pas de symbole particulier pour les commentaires
multi-lignes
Python
fE L
c h r e
c A
Python
fE L
c h r e
Syntaxe
c A
"""message sur plusieurs lignes
attaché à un élément
décrivant un élément Python"""
Python
I c
Structures conditionnelles
E LH
U
MO
if ... [[elif ...] else ...]
L
e f E en Python
Pas de switch ... case
h r
A c
c
Python
Python
Python
Exemple
x = 10
I c
if (x > 0):
ELH
print(str(x) + " est positif")
U
L MO
f E
c hre
c A
Python
Exemple
x = 10
I c
if (x > 0):
ELH
print(str(x) + " est positif")
U
L MO
f E
c hre
c A
One-line if
x = 10
if (x > 0): print(str(x) + " est positif")
Python
Opérateurs de comparaison
Python
Exemple
x = -10
if (x > 0):
print(str(x) + " est positif")
else:
print(str(x) + " est négatif")
I c
ELH
U
L MO
f E
c hre
c A
Exemple
x = -10
if (x > 0):
print(str(x) + " est positif")
else:
print(str(x) + " est négatif")
I c
One-line if else
ELH
U
MO
print(str(x) + " est positif") if (x > 0) else print(str(x) + " est né
gatif")
f E L
c hre
c A
Exemple
x = -10
if (x > 0):
print(str(x) + " est positif")
else:
print(str(x) + " est négatif")
I c
One-line if else
ELH
U
MO
print(str(x) + " est positif") if (x > 0) else print(str(x) + " est né
gatif")
f E L
c hre
Ou en plus simple
c A
print(str(x) + (" est positif" if (x > 0) else " est négatif"))
Exemple
x = -10
if (x > 0):
print(str(x) + " est positif")
else:
print(str(x) + " est négatif")
I c
One-line if else
ELH
U
MO
print(str(x) + " est positif") if (x > 0) else print(str(x) + " est né
gatif")
f E L
c hre
Ou en plus simple
c A
print(str(x) + (" est positif" if (x > 0) else " est négatif"))
Python
Exemple
x = 0
if (x > 0):
print(str(x) + " est positif")
elif (x == 0):
print(str(x) + " est nul")
else:
print(str(x) + " est négatif")
I c
ELH
U
L MO
f E
c hre
c A
Exemple
x = 0
if (x > 0):
print(str(x) + " est positif")
elif (x == 0):
print(str(x) + " est nul")
else:
print(str(x) + " est négatif")
I c
ELH
U
One-line if elif else
L MO
f E
hre
x = 0
c
print(str(x) + " est positif") if (x > 0) else print(str(x) + " est nul
c A
") if x == 0 else print(str(x) + " est négatif")
Exemple
x = 0
if (x > 0):
print(str(x) + " est positif")
elif (x == 0):
print(str(x) + " est nul")
else:
print(str(x) + " est négatif")
I c
ELH
U
One-line if elif else
L MO
f E
hre
x = 0
c
print(str(x) + " est positif") if (x > 0) else print(str(x) + " est nul
c A
") if x == 0 else print(str(x) + " est négatif")
Ou en plus simple
x = 0
print(str(x) + (" est positif" if (x > 0) else " est nul" if x == 0
else " est négatif"))
Python
Opérateurs logiques
and : et
I c
or : ou
ELH
U
not : non
L MO
f E
c hre
c A
Python
Opérateurs logiques
and : et
I c
or : ou
ELH
U
not : non
L MO
f E
c hre
c A
Tester plusieurs conditions (en utilisant des opérateurs logiques)
if (condition1 and condition2 or condition3):
# instructions
[else ...]
Python
Exercice
I
c
Écrire un script Python qui EL H
U
Ovaleurs numériques
demande à l’utilisateur de saisirM
L deux
f Ede la multiplication sans calculer le
c h e
affiche le signe du rrésultat
produit
c A
Python
Python
Structures itératives I
c
H
EouLinconnus
U
while : pour un nombre d’itérations connu
O
L Mconnu
h r e fE
for : pour un nombre d’itérations
A
Pas de do ... c while en Python
c
Python
Python
Python
Exemple
i = 0
while i < 5:
print(i)
I c
i += 1
ELH
U
L MO
f E
chre
c A
Python
Exemple
i = 0
while i < 5:
print(i)
I c
i += 1
ELH
U
L MO
f E
Le résultat est
chre
0 c A
1
2
3
4
Python
Python
Python
Python
Python
Exemple avec continue
i = 0
while i < 5:
i += 1
I c
if i == 2:
ELH
continue
U
print(i)
L MO
f E
chre
c A
Python
Exemple avec continue
i = 0
while i < 5:
i += 1
I c
if i == 2:
ELH
continue
U
print(i)
L MO
f E
chre
Le résultat est c A
1
3
4
5
Python
Python
Exemple avec while ... else
i = 0
while i < 5:
i += 1
print(i)
I c
else:
ELH
print("i est égal à 5")
U
L MO
f E
chre
c A
Python
Exemple avec while ... else
i = 0
while i < 5:
i += 1
print(i)
I c
else:
ELH
print("i est égal à 5")
U
L MO
f E
Le résultat est
chre
1 c A
2
3
4
5
i est égal à 5
Python
Boucle for
I c
ELH
U
L MO
f E
chre
c A
Python
Boucle for
I c
Une boucle for permet d’itérer sur les structures suivantes
ELH
U
List
L MO
f E
hre
Tuple
c
c A
Set
Dictionary
String
Range
Generator expression
Python
Pour parcourir une chaı̂ne de caractères
chaine = "bonjour"
Python
Pour parcourir une chaı̂ne de caractères
chaine = "bonjour"
Python
Python
Python
Python
Python
Python
Python
Python
Python nous permet de stocker le résultat d’une boucle for dans
une variable (for-one-line)
carre = [elt ** 2 for elt in range(5)]
I c
print(carre)
ELH
# affiche [0, 1, 4, 9, 16]
U
L MO
f E
chre
c A
Python
Python nous permet de stocker le résultat d’une boucle for dans
une variable (for-one-line)
carre = [elt ** 2 for elt in range(5)]
I c
print(carre)
ELH
# affiche [0, 1, 4, 9, 16]
U
L MO
f E
A c hre
Dans un for-one-line, on peut utiliser un if
carre =
c
[elt ** 2 for elt in range(5) if elt % 2 ==
0]
print(carre)
# affiche [0, 4, 16]
Python
I c
voitures = ["peugeot", "fiat"]
E L H
U
L MO
lettres = [x * 2 for elt in voitures for x in elt]
print(lettres)
h r e fE
A c ’ee’, ’uu’, ’gg’, ’ee’, ’oo’, ’tt’,
# affiche [’pp’,
’ff’,
c’ii’, ’aa’, ’tt’]
Python
Exercice
I
c
Étant donnée la variable suivante : E LH
U
valeurs = [elt ** 2 for elt
L MOin range(5)]
En utilisant une boucleffor
r e E
DéterminezA si c
h
cette variable contient un nombre pair
c
Python
Solution
valeurs = [elt ** 2 for elt in range(5)]
I c
trouve = False
ELH
U
for elt in valeurs:
L MO
if elt % 2 == 0:
f E
trouve = True
chre
break
c A
print("oui" if trouve else "non")
Python
Python
Python
r e f E
Set : collection non-ordonnée (selon l’ordre d’insertion) et
h
Acées les types différents et n’autorisant pas les
non-indexée acceptant
cdupliqu
valeurs
Dictionary : collection non-ordonnée acceptant les valeurs
dupliquées avec des clés personnalisées
Python
Pour déclarer une liste, on utilise les []
liste = [2, 3, 8, 5]
I c
ELH
U
L MO
f E
c hre
c A
Python
Pour déclarer une liste, on utilise les []
liste = [2, 3, 8, 5]
c
Pour accéder à un élément selon son indice (premier élément d’indice 0)
I
print(liste[1])
ELH
# affiche 3
U
L MO
f E
c hre
c A
Python
Pour déclarer une liste, on utilise les []
liste = [2, 3, 8, 5]
c
Pour accéder à un élément selon son indice (premier élément d’indice 0)
I
print(liste[1])
ELH
# affiche 3
U
L MO
f E
hre
Pour accéder au dernier élément d’une liste
c
print(liste[-1])
# affiche 5 c A
Python
Pour déclarer une liste, on utilise les []
liste = [2, 3, 8, 5]
c
Pour accéder à un élément selon son indice (premier élément d’indice 0)
I
print(liste[1])
ELH
# affiche 3
U
L MO
f E
hre
Pour accéder au dernier élément d’une liste
c
print(liste[-1])
# affiche 5 c A
Pour accéder à un élément selon son indice en commençant par la fin
print(liste[-2])
# affiche 8
Python
Python
Python
Python
Python
Il est possible d’additionner (ou fusionner) les listes
liste += [1, 6]
print(liste)
# affiche [2, 3, 8, 5, 1, 6]
I c
ELH
U
L MO
f E
c hre
c A
Python
Il est possible d’additionner (ou fusionner) les listes
liste += [1, 6]
print(liste)
# affiche [2, 3, 8, 5, 1, 6]
I c
ELH
U
MO
Ou
liste = [*liste, 1, 6]
f E L
hre
print(liste)
# affiche [2, 3, 8, 5, 1, 6]
c
c A
Python
Il est possible d’additionner (ou fusionner) les listes
liste += [1, 6]
print(liste)
# affiche [2, 3, 8, 5, 1, 6]
I c
ELH
U
MO
Ou
liste = [*liste, 1, 6]
f E L
hre
print(liste)
# affiche [2, 3, 8, 5, 1, 6]
c
c A
Sans l’opérateur *, le résultat est différent
liste = [liste, 1, 6]
print(liste)
# affiche [[2, 3, 8, 5], 1, 6]
Python
Python
c A 6)
liste.insert(2,
print(liste)
# affiche [2, 3, 6, 8, 5]
Python
Python
Python
Python
Python
Python
Python
Python
Python
Python
Python
Python
Python
re f E
la liste, une exception sera levée x n’est pas dans la liste.
h
sort() : trie lacliste.
c A
reverse() : inverse l’ordre des éléments de la liste.
...
Python
print(liste2.index(3))
I c
# affiche 1
ELH
U
print(liste2.index(3, 2))
L MO
f E
hre
# affiche 5
c
c A
print(liste2.index(3, -1))
# affiche 7
print(liste2.index(3, 0, 5))
# affiche 1
Python
Python
Python
Python
Python
Python
Pour déclarer un tuple, on utilise les ()
marques = ("peugeot", "ford", "toyota")
I c
ELH
U
L MO
f E
c hre
c A
Python
Pour déclarer un tuple, on utilise les ()
marques = ("peugeot", "ford", "toyota")
I
c
H
EL élément
Pour accéder à un élément selon son indice (premier
d’indice 0) O U
L M
print(marques[1])
# affiche ford hre
fE
A c
c
Python
Pour déclarer un tuple, on utilise les ()
marques = ("peugeot", "ford", "toyota")
I
c
H
EL élément
Pour accéder à un élément selon son indice (premier
d’indice 0) O U
L M
print(marques[1])
# affiche ford hre
fE
A c
c
Pour accéder au dernier élément d’une liste
print(marques[-1])
# affiche toyota
Python
Python
Python
Modifier un élément d’un tuple génère une erreur
marques[1] = "fiat"
Traceback (most recent call last):
File "c:/Users/elmou/Desktop/cours-python/main.py"
I c
, line 2, in <module>
ELH
marques[1] = "fiat"
U
TypeError: ’tuple’ object does not support item
L MO
assignment
f E
c hre
c A
Python
Modifier un élément d’un tuple génère une erreur
marques[1] = "fiat"
Traceback (most recent call last):
File "c:/Users/elmou/Desktop/cours-python/main.py"
I c
, line 2, in <module>
ELH
marques[1] = "fiat"
U
TypeError: ’tuple’ object does not support item
L MO
assignment
f E
A c hre
Remarques
c
Il est impossible d’ajouter ou supprimer un élément d’un tuple
count(x) et index(x) sont applicables sur les tuples
Python
Python
Python
Pour déclarer un set, on utilise les {}
ensemble = {2, 3, 8, 5}
I c
ELH
U
L MO
f E
c hre
c A
Python
Pour déclarer un set, on utilise les {}
ensemble = {2, 3, 8, 5}
I c
Impossible d’accéder à un élément d’un ensemble via son indice (un ensemble n’est pas
ordonné et est donc non indexé)
ELH
U
MO
print(ensemble[1])
Traceback (most recent call last):
f E L
File "c:/Users/elmou/Desktop/cours-python/main.py", line 2, in <
module>
c hre
c A
print(ensemble[1])
TypeError: ’set’ object is not subscriptable
Python
Pour déclarer un set, on utilise les {}
ensemble = {2, 3, 8, 5}
I c
Impossible d’accéder à un élément d’un ensemble via son indice (un ensemble n’est pas
ordonné et est donc non indexé)
ELH
U
MO
print(ensemble[1])
Traceback (most recent call last):
f E L
File "c:/Users/elmou/Desktop/cours-python/main.py", line 2, in <
module>
c hre
c A
print(ensemble[1])
TypeError: ’set’ object is not subscriptable
print(len(ensemble))
# affiche 4
Python
Pour ajouter un nouvel élément à l’ensemble
ensemble.add(6)
print(ensemble)
# affiche {2, 3, 5, 6, 8}
I c
ELH
U
L MO
f E
c hre
c A
Python
Pour ajouter un nouvel élément à l’ensemble
ensemble.add(6)
print(ensemble)
# affiche {2, 3, 5, 6, 8}
I c
ELH
Pour ajouter plusieurs éléments simultanément
U
ensemble.update([6, 1])
L MO
print(ensemble)
# affiche {1, 2, 3,h r e fE
A c 5, 6, 8}
Python
Pour ajouter un nouvel élément à l’ensemble
ensemble.add(6)
print(ensemble)
# affiche {2, 3, 5, 6, 8}
I c
ELH
Pour ajouter plusieurs éléments simultanément
U
ensemble.update([6, 1])
L MO
print(ensemble)
# affiche {1, 2, 3,h r e fE
A c 5, 6, 8}
c
Pour supprimer un élément
ensemble.remove(3)
print(ensemble)
# affiche {8, 2, 5}
Python
Si l’élément à supprimer n’existe pas, remove déclenche une erreur
ensemble.remove(9)
Traceback (most recent call last):
File "c:/Users/elmou/Desktop/cours-python/main.py", line 2, in <
module>
ensemble.remove(9)
KeyError: 9
I c
ELH
U
L MO
f E
c hre
c A
Python
Si l’élément à supprimer n’existe pas, remove déclenche une erreur
ensemble.remove(9)
Traceback (most recent call last):
File "c:/Users/elmou/Desktop/cours-python/main.py", line 2, in <
module>
ensemble.remove(9)
KeyError: 9
I c
ELH
U
MO
On peut utiliser discard pour supprimer (ne déclenche pas d’erreur si l’élément n’existe
L
pas)
f E
ensemble.discard(9)
c hre
c A
print(ensemble)
# affiche {8, 2, 3, 5}
Python
Si l’élément à supprimer n’existe pas, remove déclenche une erreur
ensemble.remove(9)
Traceback (most recent call last):
File "c:/Users/elmou/Desktop/cours-python/main.py", line 2, in <
module>
ensemble.remove(9)
KeyError: 9
I c
ELH
U
MO
On peut utiliser discard pour supprimer (ne déclenche pas d’erreur si l’élément n’existe
L
pas)
f E
ensemble.discard(9)
c hre
c A
print(ensemble)
# affiche {8, 2, 3, 5}
Python
Python
c
difference() :retourne un ensemble contenant les éléments
I
différents de deux ensembles ou plus
EL H
intersection() : retourne les élO
U
L M éments en commun entre
deux ensembles
h r e fE
issubset() :c
c A
sinon.
un autre,
retourne True si un ensemble est contenu dans
False
isdisjoint() : retourne True si deux ensembles ont au moins
un élément en commun, False sinon.
...
Python
Pour déclarer un dictionnaire (key: value), on utilise les {}
fcb = {
"messi": 10,
"suarez": 9,
"rakitic": 4,
"umtiti": 23
I c
}
ELH
U
L MO
f E
c hre
c A
Python
Pour déclarer un dictionnaire (key: value), on utilise les {}
fcb = {
"messi": 10,
"suarez": 9,
"rakitic": 4,
"umtiti": 23
I c
}
ELH
U
L MO
f E
hre
Pour accéder à une valeur selon la clé
c
c A
print(fcb.get(’messi’))
# affiche 10
Python
Pour déclarer un dictionnaire (key: value), on utilise les {}
fcb = {
"messi": 10,
"suarez": 9,
"rakitic": 4,
"umtiti": 23
I c
}
ELH
U
L MO
f E
hre
Pour accéder à une valeur selon la clé
c
c A
print(fcb.get(’messi’))
# affiche 10
Ou aussi
print(fcb[’messi’])
# affiche 10
Python
Pour extraire la liste de valeurs d’un dictionnaire
print(fcb.values())
# affiche dict_values([10, 9, 4, 23])
I c
ELH
U
L MO
f E
c hre
c A
Python
Pour extraire la liste de valeurs d’un dictionnaire
print(fcb.values())
# affiche dict_values([10, 9, 4, 23])
I c
EL H
U
Pour extraire la liste de clés d’un dictionnaire
print(fcb.keys())
L MO
r e fE
# affiche dict_keys([’messi’,
h
’suarez’, ’rakitic’, ’
umtiti’])
A c
c
Python
Pour extraire la liste de valeurs d’un dictionnaire
print(fcb.values())
# affiche dict_values([10, 9, 4, 23])
I c
EL H
U
Pour extraire la liste de clés d’un dictionnaire
print(fcb.keys())
L MO
r e fE
# affiche dict_keys([’messi’,
h
’suarez’, ’rakitic’, ’
umtiti’])
A c
c
Pour connaı̂tre le nombre d’items d’un dictionnaire
print(len(fcb))
# affiche 4
Python
Pour ajouter un nouvel item au dictionnaire
fcb[’iniesta’] = 8
print(fcb)
# affiche {’messi’: 10, ’suarez’: 9, ’rakitic’: 4, ’umtiti’: 23, ’
iniesta’: ’8’}
I c
ELH
U
L MO
f E
c hre
c A
Python
Pour ajouter un nouvel item au dictionnaire
fcb[’iniesta’] = 8
print(fcb)
# affiche {’messi’: 10, ’suarez’: 9, ’rakitic’: 4, ’umtiti’: 23, ’
iniesta’: ’8’}
I c
ELH
Si la clé existe, la valeur associée sera modifiée
U
fcb[’messi’] = 11
L MO
print(fcb)
f E
hre
# affiche {’messi’: 11, ’suarez’: 9, ’rakitic’: 4, ’umtiti’: 23}
c
c A
Python
Pour ajouter un nouvel item au dictionnaire
fcb[’iniesta’] = 8
print(fcb)
# affiche {’messi’: 10, ’suarez’: 9, ’rakitic’: 4, ’umtiti’: 23, ’
iniesta’: ’8’}
I c
ELH
Si la clé existe, la valeur associée sera modifiée
U
fcb[’messi’] = 11
L MO
print(fcb)
f E
hre
# affiche {’messi’: 11, ’suarez’: 9, ’rakitic’: 4, ’umtiti’: 23}
c
c A
On peut utiliser la méthode update pour ajouter plusieurs items ou modifier des items
existants
Python
Pour supprimer un item selon la clé
fcb.pop(’rakitic’)
print(fcb)
# affiche {’messi’: 10, ’suarez’: 9, ’umtiti’: 23}
I c
ELH
U
L MO
f E
c hre
c A
Python
Pour supprimer un item selon la clé
fcb.pop(’rakitic’)
print(fcb)
# affiche {’messi’: 10, ’suarez’: 9, ’umtiti’: 23}
I c
ELH
Ou aussi
U
del fcb[’rakitic’]
L MO
print(fcb)
f E
hre
# affiche {’messi’: 10, ’suarez’: 9, ’umtiti’: 23}
c
c A
Python
Pour supprimer un item selon la clé
fcb.pop(’rakitic’)
print(fcb)
# affiche {’messi’: 10, ’suarez’: 9, ’umtiti’: 23}
I c
ELH
Ou aussi
U
del fcb[’rakitic’]
L MO
print(fcb)
f E
hre
# affiche {’messi’: 10, ’suarez’: 9, ’umtiti’: 23}
c
c A
Pour supprimer le dernier item inséré
fcb.popitem()
print(fcb)
# affiche {’messi’: 10, ’suarez’: 9, ’rakitic’: 4}
Python
Python
Python
Ou ausssi
for key, value in fcb.items():
print(key + ’ ’ + str(value)) I c
ELH
U
L MO
f E
c hre
c A
Python
Ou ausssi
for key, value in fcb.items():
print(key + ’ ’ + str(value)) I c
ELH
U
L MO
Le résultat est le même
f E
c hre
c A
messi 10
suarez 9
rakitic 4
umtiti 23
Python
L
copy() : copie un dictionnaire MO
h r e fE
...
A c
c
Python
Python
Python
print(compteur)
# affiche {’int’: 3, ’str’: 4, ’bool’: 2}
Python
En Python
Toute variable est un objet (instance d’une classe)
I
c
Deux types d’objet
L H
U é E
préservant la même identité) M
O
Mutable (ou muable) : peut être modifi après sa création (en
L
f E : ne peut être modifié après sa création
r e
Immutable (ou immuable)
(peut être rc h
c A éaffecté)
Python
En Python
Toute variable est un objet (instance d’une classe)
I
c
Deux types d’objet
L H
U é E
préservant la même identité) M
O
Mutable (ou muable) : peut être modifi après sa création (en
L
f E : ne peut être modifié après sa création
r e
Immutable (ou immuable)
(peut être rc h
c A éaffecté)
Python
Exemple d’objets mutables
list
dict
I c
set
ELH
classes personnalisées
U
L MO
f E
c hre
c A
Python
Exemple d’objets mutables
list
dict
I c
set
ELH
classes personnalisées
U
L MO
f E
c hre
c A
Exemple
liste = [2, 3, 8, 5]
print(id(liste))
# affiche 20373256
liste[2] = 4
print(id(liste))
# affiche 20373256
Python
Exemple d’objets immuables
int et float
str
I c
bool
ELH
tuple
U
L MO
f E
c hre
c A
Python
Exemple d’objets immuables
int et float
str
I c
bool
ELH
tuple
U
L MO
f E
c hre
c A
Exemple
ch = "bonjour"
print(id(ch))
# affiche 9417152
ch = "bonsoir"
print(id(ch))
# affiche 9417216
Python
Python
c A
rapide
Python
Un tuple est un objet immuable, donc il ne peut être modifié
tpl = ([2, 3], [8, 5])
tpl[0] = 1
# affiche TypeError: ’tuple’ object does not support item I c
assignment
ELH
U
L MO
f E
c hre
c A
Python
Un tuple est un objet immuable, donc il ne peut être modifié
tpl = ([2, 3], [8, 5])
tpl[0] = 1
# affiche TypeError: ’tuple’ object does not support item I c
assignment
ELH
U
L MO
f E
e muable, alors il est possible de le modifier
Si un élément d’un tuplerest
c h
A[8, 5])
tpl = ([2,c3],
tpl[0][1] = 1
print(tpl)
# affiche ([2, 1], [8, 5])
Python
A c d’autres fonctions
Pouvant appeler
c
retourner une autre fonction
Pouvant
Pouvant avoir comme paramètre le nom d’une autre fonction
Python
Déclarer une fonction
def nom_function([parameters]):
# instructions
I c
ELH
U
L MO
f E
chre
c A
Python
Déclarer une fonction
def nom_function([parameters]):
# instructions
I c
Exemple
ELH
U
def somme(a, b):
L MO
return a + b
f E
chre
c A
Python
Déclarer une fonction
def nom_function([parameters]):
# instructions
I c
Exemple
ELH
U
def somme(a, b):
L MO
return a + b
f E
A c hre
c
Appeler une fonction
resultat = somme (1, 3)
print(resultat)
# affiche 4
Python
Exercice
Python
Solution
def factorielle(n): I c
ELH
U
result = 1
for i in range(2, n L MO
result *= rief
E + 1):
A c h
c
result
return
Python
Python
Exercice
Python
Contrairement à la majorité des langages de programmation, une
fonction Python peut retourner plusieurs valeurs
liste = [2, 3, 8, 5]
def pairs_et_impairs(liste):
I c
evens = odds = 0
ELH
for elt in liste: U
if (elt % 2 == 0):
L MO
f E
hre
evens += 1
else: c
c A
odds += 1
return evens, odds
print(pairs_et_impairs([2, 3, 5, 8, 1]))
# affiche (2, 3)
Python
Les valeurs retournées par une fonction peuvent être récupérées
dans des variables de la manière suivante
def pairs_et_impairs(liste):
evens = odds = 0
I c
for elt in liste:
if (elt % 2 == 0): ELH
U
evens += 1
L MO
else:
f E
odds += 1
chre
c A
return evens, odds
pairs, impairs = pairs_et_impairs([2, 3, 5, 8, 1])
Python
Une fonction peut avoir comme valeur de retour une autre
fonction
def b():
print("b()")
I c
def a(): ELH
U
print("a()")
L MO
return b
f E
chre
c A
returned_function = a()
returned_function()
# affiche
# a()
# b()
Python
Python
Python
print(resultat)
# affiche 4
Python
Python
Python
I
c
L’opérateur * peut être utilisé pour
E LH
U
MO
récupérer les paramètres restants (packing)
L
décomposer une listeeen
h r fEun ensemble de paramètre (unpacking)
A c
c
Python
Il est possible de définir une fonction prenant un nombre indéfini de paramètres
avec l’opérateur * (le paramètre autres est un tuple)
print(somme(10, 2, 5, 3))
# affiche 20
I c
ELH
U
L MO
f E
chre
c A
Pour appeler la fonction produit, il faut lui passer trois paramètres number
I c
print(produit (1, 3, 5))
# affiche 15
ELH
U
L MO
f E
chre
c A
Pour appeler la fonction produit, il faut lui passer trois paramètres number
I c
print(produit (1, 3, 5))
# affiche 15
ELH
U
L MO
f E
hre
Et si les valeurs se trouvent dans une liste, on peut faire
c
c A
liste = [1, 3, 5]
print(produit(*liste))
Pour appeler la fonction produit, il faut lui passer trois paramètres number
I c
print(produit (1, 3, 5))
# affiche 15
ELH
U
L MO
f E
hre
Et si les valeurs se trouvent dans une liste, on peut faire
c
c A
liste = [1, 3, 5]
print(produit(*liste))
Python
Python
return compteur
Python
Python
Python
dire_bonjour(**kwargs)
# affiche nom wick prenom john
Python
Python
Python
c
très utilisée en Python pour simplifier certaines opérations (sur
I
les tableaux par exemple)
ELH
U
L MO
f E
chre
c A
Python
c
très utilisée en Python pour simplifier certaines opérations (sur
I
les tableaux par exemple)
ELH
U
L MO
e f E
rfonctions
c h
Considérons les deux
A suivantes
c b):
def somme(a,
return a + b
Python
Python
Exercice
I c
ELH
Modifier la fonction opération pour qu’elle puisse accepter deux
U
fonctions callback ensuite retourner le résultat de la composition
des deux.
L MO
f E
Par exemple :
chre
+ 3) * 6 c A
operation (2, 3 , 6, somme, produit) retourne 30 = (2
Python
Solution
def operation(a, b, c, f1, f2):
I c
print(f2(f1(a, b), c))
ELH
O U
M
# appeler la fonction opération
L
f E produit)
operation (2, 3 , 6, somme,
r e
# affiche 30
A ch
operation
c(2, 3 , 6, produit, somme)
# affiche 12
Python
Fonction génératrice
I c
utilisant le mot-clé yield pour générer plusieurs valeurs (même
une séquence infinie)
EL H
U
MOqui ne peuvent pas contenir
contrairement aux fonctions normales
L
r e E (seul le premier sera exécuté), une
plusieurs return consfécutifs
A c h
fonction génératrice peut contenir plusieurs yield
c
pouvant utiliser le mot-clé return
très efficace en mémoire par rapport aux fonctions normales qui
renvoie une séquence de valeurs entièrement chargée en
mémoire
Python
Exemple
def generateur():
for i in range(0, 3):
I c
yield i
ELH
U
L MO
f E
chre
c A
Python
Exemple
def generateur():
for i in range(0, 3):
I c
yield i
ELH
U
L MO
f E
hre
Pour appeler la fonction et récupérer les valeurs générées
c
c A
for value in generateur():
print(value, end=" ")
# affiche 0 1 2
Python
Pour récupérer les valeurs une par une, on utilise la fonction next ()
x = generateur()
print(type(x))
# affiche <class ’generator’>
I c
print(x.__next__())
ELH
U
MO
# affiche 0
print(x.__next__())
f E L
# affiche 1
chre
c A
print(x.__next__())
# affiche 2
print(x.__next__())
# affiche exception
Python
# affiche 0 1 2
Python
# affiche 0 1 2
Python
I c
liste = [2, 3, 8, 5]
E LH
U
MO
double = (elt * 2 for elt in liste)
L
for i in double: ref
E
print(i,A
h
c ")
c end="
# affiche 4 6 16 10
Python
Exercice
I c
H
ELPython
U
En utilisant yield, écrire une fonction génératrice
O
acceptant comme paramètreLunM entier positif x
Python
Solution
def est_premier(n):
for i in range(2, n):
if (n % i == 0):
I c
return False
ELH
return True U
L MO
def get_all_premier(n):
f E
for i in range(1, n+1):
chre
c A
if (est_premier(i)):
yield i
Python
Exercice
En utilisant yield, écrire une fonction génératrice Python
acceptant comme paramètre un entier positif n
I c
retournant les n premiers termes de la suite LH
E de Fibonacci
U
L MO
h r e fE
A
Suite de Fibonacci c
c
U =0 0
U1 = 1
Un = Un−1 + Un−2
Python
Solution
def fibonacci(x):
n = 0
m = 1
I c
yield n
ELH
yield m U
for i in range(2, x + 1):
L MO
result = n + m
f E
yield result
chre
n = m
m = resultc A
for value in fibonacci(10):
print(value, end=" ")
Python
Une variable déclarée dans une fonction est dite locale et n’est
donc pas accessible de l’extérieur
def fonction():
I c
x = 200
ELH
U
print(x)
L MO
f E
# affiche
chre
c A
Traceback (most recent call last):
File "c:/Users/elmou/Desktop/cours-python/main.py"
, line 4, in <module>
print(x)
NameError: name ’x’ is not defined
Python
Une variable non-déclarée dans une fonction est dite globale. Une
fonction peut redéclarer une variable globale
x = 100
I c
def fonction():
ELH
x = 200 U
print(x)
L MO
f E
fonction() chre
# affiche 200 c A
print(x)
# affiche 100
Python
Python
Une variable déclarée dans une fonction est dite locale et n’est
donc pas accessible de l’extérieur
def fonction():
I c
x = 200
ELH
U
print(x)
L MO
f E
# affiche
chre
c A
Traceback (most recent call last):
File "c:/Users/elmou/Desktop/cours-python/main.py"
, line 4, in <module>
print(x)
NameError: name ’x’ is not defined
Python
Fonctions Lambda
I c
fonction anonyme
E LH
U
MO ètres
acceptant un nombre indéfini de param
L
r e fE
limitée à une seule instruction
h
A cle mot-clé lambda
c
déclarée avec
Python
Syntaxe
lambda arguments : instruction
I c
ELH
U
L MO
f E
chre
c A
Python
Syntaxe
lambda arguments : instruction
I c
Exemple
ELH
U
somme = lambda a, b: a + b
L MO
f E
chre
c A
Python
Syntaxe
lambda arguments : instruction
I c
Exemple
ELH
U
somme = lambda a, b: a + b
L MO
f E
chre
c A
Appel d’une fonction lambda
resultat = somme (1, 3)
print(resultat)
# affiche 4
Python
I c
Considérons la fonction somme suivante :
ELH
U
def somme(a=0, b=0):
L MO
return a + b
f E
chre
c A
Python
I c
ELH
U
L MO
f E
chre
c A
I c
ELH
U
MO
Nouveau contenu de la fonction somme
Python
"""
c A ou réel
:rtype: entier
return a + b
Python
Python
help(somme)
# affiche Help on function somme in module __main__:
I c
#
ELH
# somme(a=0, b=0)
U
#
MO
calcule et retourne la somme des deux paramètres
L
#
E
:param a: optionnel, valeur par défaut 0
f
hre
# :type a: entier ou réel
c
c A
# :param b: optionnel, valeur par défaut 0
#
#
:type b: entier ou réel
:return: résultat de la somme de deux paramètres a et b
# :rtype: entier ou réel
Python
I
c
python -m pydoc -b pour afficher la documentation dans une
page HTML EL H
U
Ogénérer la documentation
python -m pydoc -w main M
L pour
E main.html
pour le fichier main.pyf dans
h r e
c -w .\ pour générer la documentation pour
python -mApydoc
c
tous les fichiers du projet
Python
print(somme.__doc__)
# affiche calcule et retourne la somme des deux paramètres
# :param a: optionnel, valeur par défaut 0
I c
#
#
:type a: entier ou réel
:param b: optionnel, valeur par défaut 0
ELH
U
MO
# :type b: entier ou réel
#
# :rtype: entier ou réel
f E L
:return: résultat de la somme de deux paramètres a et b
#
chre
c A
print(somme.__name__)
# somme
print(somme.__defaults__)
# (0, 0)
Python
c
Pour modifier la DocString de la fonction somme
I
somme.__doc__ = "addition" ELH
U
print(somme.__doc__) EL
MO
# affiche additionref
A ch
c
Python
I
c
Constantes
E L H
U
MO
Certains langages, comme Java, PHP..., permettent de définir
des constantes
fE L
c h
En Python, il y en r
a e
pas.
c A
Python
I
c
switch
L H
Pas de switch ... case en PythonUE
M O
f
Plusieurs émulations proposL
E ées en utilisant les fonctions et les
dictionnaires
ch r e
c A
Python
Première solution
def switch(x):
return {
I c
1: "un",
ELH
U
MO
2: "deux",
3: "trois",
f E L
hre
4: "quatre"
}[x]
A c
c
print(switch(2))
# deux
Python
Deuxième solution
def switch(op, a, b):
return {
I c
’+’: lambda a, b: a
EL
+ H b,
U
MO
’*’: lambda a, b: a * b,
’/’: lambda a,
f E L b: a / b,
hre
’-’: lambda a, b: a - b
A c
}[op](a, b)
c
print(switch(’+’, 2, 3))
# affiche 5
Python
Pylint
I
c
H
Outil de vérification de qualité de code écrit en langage Python
ElaLPEP 8
O U
Utilisant principalement les propositions de
L M
f
Installation : pip install
r e E pylint
DocumentationA c:h
c
https://docs.pylint.org/en/1.6.0/index.html
Python
Intégration sous PyCharm
Allez dans File > Settings... ou Ctrl Alt S
Allez dans Tools > External tools
I
c
Cliquez sur +
E L H
O U
Saisissez pylint dans Name
L M
f El’installation dans Program
Saisissez le chemin vers
e
(généralement :rC:\Users\x\PycharmProjects\
A ch
cours-python\venv\Scripts\pylint.exe)
c
Saisissez
"--msg-template=’{abspath}:{line:5d},{column:2d}:
{msg id} : {msg} ({symbol})’" "$FilePath$" dans
Arguments
Validez
Python
I c
Pour vérifier votre code
ELH
U
MO
Allez dans Tools > External Tools
L
Cliquez sur Pylint f E
c h re
c A