Vous êtes sur la page 1sur 11

Les bases de la programmation

Python par l’exemple

Par Sundeep Agarwal - Laethy (traducteur)

Date de publication : 31 août 2018

Ce cours est un tutoriel qui se propose de vous apprendre le langage Python à travers des
exemples.

Commentez
Les bases de la programmation Python par l’exemple par Sundeep Agarwal

I - Introduction..............................................................................................................................................................3
I-A - Installation...................................................................................................................................................... 3
I-B - Exemple Hello World..................................................................................................................................... 3
I-C - Exécution du programme Python.................................................................................................................. 4
I-D - Pour plus d’information.................................................................................................................................. 4
I-E - L’interpréteur Python...................................................................................................................................... 5
I-F - Lectures complémentaires............................................................................................................................. 5
I-G - Bibliothèque standard Python........................................................................................................................5
II - Types de données nombre et chaîne de caractères.............................................................................................5
II-A - Les types numériques...................................................................................................................................6
II-A-1 - Lectures complémentaires....................................................................................................................7
II-B - Les chaînes de caractères........................................................................................................................... 7
II-C - Les constantes..............................................................................................................................................9
II-D - Les opérateurs intégrés................................................................................................................................ 9
II-E - Lectures complémentaires.......................................................................................................................... 10
III - Les fonctions....................................................................................................................................................... 10
IV - Obtenir une entrée utilisateur............................................................................................................................. 10
V - Exécution des commandes externes.................................................................................................................. 10
VI - Structures de contrôle........................................................................................................................................ 10
VII - Listes..................................................................................................................................................................10
VIII - Séquences, Collection et dictionnaire.............................................................................................................. 10
IX - Traitement de texte.............................................................................................................................................10
X - Gestion des fichiers............................................................................................................................................. 10
XI - Arguments de ligne de commande.................................................................................................................... 11
XII - Gestion des exceptions de débogage...............................................................................................................11
XIII - Docstrings......................................................................................................................................................... 11
XIV - Test................................................................................................................................................................... 11
XV - Exercices........................................................................................................................................................... 11
XVI - En complément................................................................................................................................................ 11

-2-
Les sources présentées sur cette page sont libres de droits et vous pouvez les utiliser à votre convenance. Par contre, la page de présentation constitue une œuvre intellectuelle protégée par
les droits d'auteur. Copyright ® 2018 Sundeep Agarwal. Aucune reproduction, même partielle, ne peut être faite de ce site et de l'ensemble de son contenu : textes, documents, images, etc.
sans l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu'à trois ans de prison et jusqu'à 300 000 € de dommages et intérêts.
http://python.developpez.com/tutoriels/python-basic-par-exemple/
Les bases de la programmation Python par l’exemple par Sundeep Agarwal

I - Introduction

Selon Wikipédia, Python est un langage de programmation dynamique de haut niveau, polyvalent, interprété et
largement utilisé. Sa philosophie de conception met l'accent sur la lisibilité du code, et sa syntaxe permet aux
programmeurs d’écrire des programmes en moins de lignes de code que ce n’est possible dans des langages tels que
C ++ ou Java. Le langage fournit des concepts permettant d’écrire des programmes clairs à petite et grande échelle.

Le langage de programmation Python a été conçu par Guido van Rossum qui continue de superviser le processus
de développement du langage.

I-A - Installation

Pour installer Python, téléchargez la version de Python compatible à votre système d’exploitation sur le site officiel
de Python.

Python est par défaut installé sur la plupart des distributions Linux.

Vous pouvez consulter ce guide pour plus de détails pour la configuration d’un environnement virtuel et l’utilisation
de pip. Ne jamais utiliser la commande sudo pip à moins d’être certain de ce que vous faites.

Les exemples présentés ici portent sur les systèmes d’exploitation Unix, la version 3 de Python et utilisent le shell
bash.

Voici quelques outils que vous pouvez également utiliser pour exécuter le code Python en ligne :

• pythontutor : cet outil permet l'exécution du code dans les versions Python 2 et 3 et la visualisation du flot de
contrôle des instructions, et fournit des exemples de programmes.
• jupyter : Jupyter est une application web qui vous permet de créer et de partager des documents contenant
du code en ligne, des équations, des aperçus et du texte explicatif.
• ideone : cet outil est un outil de compilation et de débogage en ligne qui vous permet de compiler le code
source et de l'exécuter en ligne dans plus de soixante langages de programmation.
• Python Interpreter shell : permet également d’exécuter de code Python en ligne.

On suppose que vous êtes familier avec les lignes de commande. Sinon, consultez ce tutoriel de base sur
Developpez.com.

I-B - Exemple Hello World

Commençons par un simple programme Python et apprenons à l’exécuter.

#!/usr/bin/python3

print("Hello World")

La première ligne comprend deux parties :

• /usr/bin/python3 est le chemin de l’interpréteur Python ;


• #! s’appelle Shebang et dit au chargeur de programmes d’utiliser le programme indiqué dans le chemin qui
suit.

La troisième ligne affiche le message Hello World avec un saut de ligne ajouté par défaut par la fonction print.

-3-
Les sources présentées sur cette page sont libres de droits et vous pouvez les utiliser à votre convenance. Par contre, la page de présentation constitue une œuvre intellectuelle protégée par
les droits d'auteur. Copyright ® 2018 Sundeep Agarwal. Aucune reproduction, même partielle, ne peut être faite de ce site et de l'ensemble de son contenu : textes, documents, images, etc.
sans l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu'à trois ans de prison et jusqu'à 300 000 € de dommages et intérêts.
http://python.developpez.com/tutoriels/python-basic-par-exemple/
Les bases de la programmation Python par l’exemple par Sundeep Agarwal

I-C - Exécution du programme Python

Pour écrire votre programme, vous pouvez utiliser un éditeur de texte comme gedit, vim ou tout autre éditeur.

Après avoir enregistré le fichier, attribuez au fichier les droits d'exécution et exécutez le programme à partir d'un
terminal :

1. $ chmod +x hello_world.py
2. $ ./hello_world.py
3. Hello World

Pour trouver le répertoire d’installation et la version de Python dans votre système :

$ type python3
python3 is /usr/bin/python3

$ python3 --version
Python 3.4.3

Une erreur courante, pour ceux qui ont travaillé avec un livre ou un tutoriel sur la version 2 de Python ou qui ont
utilisé le langage Perl, est d'oublier les () avec la fonction print :

#!/usr/bin/python3

print "Have a nice day"

Selon le type d'erreur, il peut être facile de la repérer en fonction des messages d'erreur imprimés lors de l'exécution
du programme.

Dans cet exemple, nous obtenons le message Missing parentheses approprié.

$ ./syntax_error.py
File "./syntax_error.py", line 3
print "Have a nice day"
^
SyntaxError: Missing parentheses in call to 'print'

Les commentaires sur une seule ligne commencent par #.

#! a une signification spéciale seulement sur la première ligne du programme.


Nous aborderons les commentaires multilignes dans les chapitres suivants.

#!/usr/bin/python3

# Greeting message
print("Hello World")

I-D - Pour plus d’information

• Python docs - version 3


• Different ways of executing Python programs
• Where is Python used?
• Python docs - Errors and Exceptions

-4-
Les sources présentées sur cette page sont libres de droits et vous pouvez les utiliser à votre convenance. Par contre, la page de présentation constitue une œuvre intellectuelle protégée par
les droits d'auteur. Copyright ® 2018 Sundeep Agarwal. Aucune reproduction, même partielle, ne peut être faite de ce site et de l'ensemble de son contenu : textes, documents, images, etc.
sans l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu'à trois ans de prison et jusqu'à 300 000 € de dommages et intérêts.
http://python.developpez.com/tutoriels/python-basic-par-exemple/
Les bases de la programmation Python par l’exemple par Sundeep Agarwal

I-E - L’interpréteur Python

• L’interpréteur Python est généralement utilisé pour exécuter des extraits de codes Python lorsqu’on apprend
le langage de programmation Python ou à des fins de débogage.
• Généralement, l’invite est : >>>.
• Dans les chapitres suivants de ce cours, certains sujets seront complétés par des exemples utilisant
l'interpréteur Python.
• La variable spéciale _ contient le résultat de la dernière expression imprimée.
• On peut saisir une partie de la commande et appuyer plusieurs fois sur la touche Flèche vers le Haut pour
faire correspondre les commandes de l'historique.
• La combinaison Ctrl + l permet d’effacer l'écran en conservant toutes les commandes saisies.
• Utilisez la commande exit() pour quitter.

1. $ python3
2. Python 3.4.3 (default, Oct 14 2015, 20:28:29)
3. [GCC 4.8.4] on linux
4. Type "help", "copyright", "credits" or "license" for more information.
5. >>> print("hi")
6. hi
7. >>> abc
8. Traceback (most recent call last):
9. File "<stdin>", line 1, in <module>
10. NameError: name 'abc' is not defined
11. >>> num = 5
12. >>> num
13. 5
14. >>> 3 + 4
15. 7
16. >>> 12 + _
17. 19
18. >>> exit()

I-F - Lectures complémentaires

• Python docs - Using the Python Interpreter


• Python docs - Interpreter example

I-G - Bibliothèque standard Python

Python docs - library

pypi - repository of software for the Python programming language

La bibliothèque contient des modules intégrés (écrits en C) qui fournissent un accès aux fonctionnalités du système
telles que les Entrées / Sorties de fichiers qui seraient autrement inaccessibles aux programmeurs Python, ainsi que
les modules écrits en Python qui fournissent des solutions standardisées pour de nombreux problèmes rencontrés
dans la programmation quotidienne.

Certains de ces modules sont explicitement conçus pour favoriser et améliorer la portabilité des programmes Python
en extrayant les spécificités de la plate-forme dans des API neutres.

II - Types de données nombre et chaîne de caractères

• Les nombres
• Les chaînes de caractères
• Les constantes
• Les opérateurs intégrés

-5-
Les sources présentées sur cette page sont libres de droits et vous pouvez les utiliser à votre convenance. Par contre, la page de présentation constitue une œuvre intellectuelle protégée par
les droits d'auteur. Copyright ® 2018 Sundeep Agarwal. Aucune reproduction, même partielle, ne peut être faite de ce site et de l'ensemble de son contenu : textes, documents, images, etc.
sans l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu'à trois ans de prison et jusqu'à 300 000 € de dommages et intérêts.
http://python.developpez.com/tutoriels/python-basic-par-exemple/
Les bases de la programmation Python par l’exemple par Sundeep Agarwal

Le type d’une variable est déterminé automatiquement par Python. Il suffit d’attribuer une valeur à la variable avant
de l'utiliser ailleurs - comme une fonction d'affichage ou une partie de l'expression.

II-A - Les types numériques

• Exemples sur les entiers :

1. >>> num1 = 7
2. >>> num2 = 42
3. >>> total = num1 + num2
4. >>> print(total)
5. 49
6. >>> total
7. 49
8.
9. # Pas de limite à la précision des nombres entiers, uniquement limitée par la mémoire
disponible
10. >>> 34 ** 32
11. 10170102859315411774579628461341138023025901305856
12.
13. # L’utilisation d’une barre oblique simple / produit un résultat à virgule flottante
14. >>> 9 / 5
15. 1.8
16.
17. # L’utilisation de barres obliques doubles // ne donne que la partie entière du résultat sans
arrondi
18. >>> 9 // 5
19. 1
20.
21. >>> 9 % 5
22. 4

• Exemples sur les nombres à virgule flottante :

1. >>> appx_pi = 22 / 7
2. >>> appx_pi
3. 3.142857142857143
4.
5. >>> area = 42.16
6. >>> appx_pi + area
7. 45.30285714285714
8.
9. >>> num1
10. 7
11. >>> num1 + area
12. 49.16

• La notation scientifique peut être aussi utilisée :

1. >>> sci_num1 = 3.982e5


2. >>> sci_num2 = 9.32e-1
3. >>> sci_num1 + sci_num2
4. 398200.932
5.
6. >>> 2.13e21 + 5.23e22
7. 5.443e+22

• Les nombres binaires sont préfixés par 0b ou 0B (c'est-à-dire le chiffre 0 suivi de la lettre majuscule /
minuscule b) ;
• Les nombres en base 8(octal) sont préfixés par 0o ou 0O (c'est-à-dire le chiffre 0 suivi de la lettre majuscule /
minuscule o) ;
• De même, les nombres hexadécimaux sont précédés de 0x ou 0X :

1. >>> bin_num = 0b101

-6-
Les sources présentées sur cette page sont libres de droits et vous pouvez les utiliser à votre convenance. Par contre, la page de présentation constitue une œuvre intellectuelle protégée par
les droits d'auteur. Copyright ® 2018 Sundeep Agarwal. Aucune reproduction, même partielle, ne peut être faite de ce site et de l'ensemble de son contenu : textes, documents, images, etc.
sans l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu'à trois ans de prison et jusqu'à 300 000 € de dommages et intérêts.
http://python.developpez.com/tutoriels/python-basic-par-exemple/
Les bases de la programmation Python par l’exemple par Sundeep Agarwal

2. >>> oct_num = 0o12


3. >>> hex_num = 0xF
4.
5. >>> bin_num
6. 5
7. >>> oct_num
8. 10
9. >>> hex_num
10. 15
11.
12. >>> oct_num + hex_num
13. 25

Le caractère _ peut être utilisé entre les chiffres pour plus de lisibilité. Cette notion a été introduite dans Python v3.6.

1. >>> 1_000_000
2. 1000000
3. >>> 1_00.3_352
4. 100.3352
5. >>> 0xff_ab1
6. 1047217
7.
8. # La mise en forme f-strings sera expliquée dans un chapitre ultérieur
9. >>> num = 34 ** 32
10. >>> print(f'{num:_}')
11. 10_170_102_859_315_411_774_579_628_461_341_138_023_025_901_305_856

II-A-1 - Lectures complémentaires

• Python docs - numbers


• decimal
• fractions
• complex
• Python docs - keywords : ne pas les utiliser comme variables

II-B - Les chaînes de caractères

• les chaînes de caractères peuvent être déclarées en utilisant des guillemets simples ou doubles.
• Lorsque la chaîne elle-même contient des guillemets doubles et simples, utilisez \ pour échapper les
guillemets qui font partie de la chaîne.

1. >>> str1 = 'This is a string'


2. >>> str1
3. 'This is a string'
4. >>> greeting = "Hello World!"
5. >>> greeting
6. 'Hello World!'
7.
8. >>> weather = "It's a nice and warm day"
9. >>> weather
10. "It's a nice and warm day"
11. >>> print(weather)
12. It's a nice and warm day
13.
14. >>> weather = 'It\'s a nice and warm day'
15. >>> print(weather)
16. It's a nice and warm day

Les séquences d'échappement comme le caractère de retour à la ligne \n peuvent être utilisées dans la déclaration
d’une chaîne de caractères.

1. >>> colors = 'Blue\nRed\nGreen'


2. >>> colors

-7-
Les sources présentées sur cette page sont libres de droits et vous pouvez les utiliser à votre convenance. Par contre, la page de présentation constitue une œuvre intellectuelle protégée par
les droits d'auteur. Copyright ® 2018 Sundeep Agarwal. Aucune reproduction, même partielle, ne peut être faite de ce site et de l'ensemble de son contenu : textes, documents, images, etc.
sans l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu'à trois ans de prison et jusqu'à 300 000 € de dommages et intérêts.
http://python.developpez.com/tutoriels/python-basic-par-exemple/
Les bases de la programmation Python par l’exemple par Sundeep Agarwal

3. 'Blue\nRed\nGreen'
4.
5. >>> print(colors)
6. Blue
7. Red
8. Green

Utilisez le préfixe r (r pour raw (brut)) si vous ne voulez pas que les séquences d'échappement soient interprétées.
Ce préfixe est couramment utilisé avec des expressions régulières, lire Correspondance de modèle et extraction
pour avoir des exemples.

1. >>> raw_str = r'Blue\nRed\nGreen'


2. >>> print(raw_str)
3. Blue\nRed\nGreen
4.
5. # Pour voir comment les chaînes de caractères sont stockées en interne
6. >>> raw_str
7. 'Blue\\nRed\\nGreen'

• Concaténation des chaînes de caractères et répétitions :

1. >>> str1 = 'Hello'


2. >>> str2 = ' World'
3. >>> print(str1 + str2)
4. Hello World
5.
6. >>> style_char = '-'
7. >>> style_char * 10
8. '----------'
9.
10. >>> word = 'buffalo '
11. >>> print(word * 8)
12. buffalo buffalo buffalo buffalo buffalo buffalo buffalo buffalo
13.
14. # Python v3.6 permet l'interpolation des variables avec les f-strings
15. >>> msg = f'{str1} there'
16. >>> msg
17. 'Hello there'

• Chaînes de caractères entre triples guillemets. Comme les chaînes de caractères simples, """ ou ''' peuvent
être utilisés ainsi que les caractères d'échappement en utilisant \,

1. #!/usr/bin/python3
2.
3. """
4. Cette ligne fait partie d’un commentaire multiligne
5. Ce programme montre des exemples de chaînes de caractères entre triples guillemets
6. """
7.
8. # attribuer plusieurs chaînes de caractères à la variable
9. poem = """\
10. The woods are lovely, dark and deep,
11. But I have promises to keep,
12. And miles to go before I sleep,
13. And miles to go before I sleep.
14. """
15.
16. print(poem, end='')

Les chaînes de caractères entre triples guillemets sont également utiles pour la documentation du code. Voir le
chapitre Doctrings pour des exemples.

1. $ ./triple_quoted_string.py
2. The woods are lovely, dark and deep,
3. But I have promises to keep,
4. And miles to go before I sleep,

-8-
Les sources présentées sur cette page sont libres de droits et vous pouvez les utiliser à votre convenance. Par contre, la page de présentation constitue une œuvre intellectuelle protégée par
les droits d'auteur. Copyright ® 2018 Sundeep Agarwal. Aucune reproduction, même partielle, ne peut être faite de ce site et de l'ensemble de son contenu : textes, documents, images, etc.
sans l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu'à trois ans de prison et jusqu'à 300 000 € de dommages et intérêts.
http://python.developpez.com/tutoriels/python-basic-par-exemple/
Les bases de la programmation Python par l’exemple par Sundeep Agarwal

5. And miles to go before I sleep.


6. $

• Python docs - strings

• Python docs - f-strings - pour plus d'exemples et de mises en garde

• Python docs - List of Escape Sequences and more info on strings

• Python docs - Binary Sequence Types

II-C - Les constantes

• Paraphrasé à partir de docs Python – constantes


• None est la seule valeur du type NoneType
• None est souvent utilisé pour représenter l'absence de valeur
• False : la valeur fausse du type booléen
• True : la valeur vraie du type booléen
• Python docs - Truth Value Testing

1. >>> bool(2)
2. True
3. >>> bool(0)
4. False
5. >>> bool('')
6. False
7. >>> bool('a')
8. True

II-D - Les opérateurs intégrés

• Opérateurs arithmétiques

• + addition
• - soustraction
• * multiplication
• / division (résultat à virgule flottante )
• // division (division entière, le résultat n'est pas arrondi)
• ** exponentiation
• % modulo (reste de la division entière).
• Les opérateurs de chaîne de caractères

• + concaténation de chaîne de caractères


• * répétition de chaîne de caractères
• Les opérateurs de comparaison

• == égal à
• > plus grand que
• < plus petit que
• != différent
• >= supérieur ou égal à
• <= inférieur ou égal à
• logique booléenne

• and et logique
• or ou logique

-9-
Les sources présentées sur cette page sont libres de droits et vous pouvez les utiliser à votre convenance. Par contre, la page de présentation constitue une œuvre intellectuelle protégée par
les droits d'auteur. Copyright ® 2018 Sundeep Agarwal. Aucune reproduction, même partielle, ne peut être faite de ce site et de l'ensemble de son contenu : textes, documents, images, etc.
sans l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu'à trois ans de prison et jusqu'à 300 000 € de dommages et intérêts.
http://python.developpez.com/tutoriels/python-basic-par-exemple/
Les bases de la programmation Python par l’exemple par Sundeep Agarwal

• not non logique


• opérateurs bit à bit

• & et
• | ou
• ^ ou exclusif
• ~ bits inversés
• >> décalage à droite
• << décalage à gauche

Et plus encore…

II-E - Lectures complémentaires

• Python docs - Numeric types – Liste complète des opérations et des priorités.
• Python docs - String methods

III - Les fonctions

En cours de traduction

IV - Obtenir une entrée utilisateur

En cours de traduction

V - Exécution des commandes externes

En attente de traducteur

VI - Structures de contrôle

En attente de traducteur

VII - Listes

En attente de traducteur

VIII - Séquences, Collection et dictionnaire

En attente de traducteur

IX - Traitement de texte

En attente de traducteur

X - Gestion des fichiers

En attente de traducteur

- 10 -
Les sources présentées sur cette page sont libres de droits et vous pouvez les utiliser à votre convenance. Par contre, la page de présentation constitue une œuvre intellectuelle protégée par
les droits d'auteur. Copyright ® 2018 Sundeep Agarwal. Aucune reproduction, même partielle, ne peut être faite de ce site et de l'ensemble de son contenu : textes, documents, images, etc.
sans l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu'à trois ans de prison et jusqu'à 300 000 € de dommages et intérêts.
http://python.developpez.com/tutoriels/python-basic-par-exemple/
Les bases de la programmation Python par l’exemple par Sundeep Agarwal

XI - Arguments de ligne de commande

En attente de traducteur

XII - Gestion des exceptions de débogage

En attente de traducteur

XIII - Docstrings

En attente de traducteur

XIV - Test

En attente de traducteur

XV - Exercices

En attente de traducteur

XVI - En complément

En attente de traducteur

- 11 -
Les sources présentées sur cette page sont libres de droits et vous pouvez les utiliser à votre convenance. Par contre, la page de présentation constitue une œuvre intellectuelle protégée par
les droits d'auteur. Copyright ® 2018 Sundeep Agarwal. Aucune reproduction, même partielle, ne peut être faite de ce site et de l'ensemble de son contenu : textes, documents, images, etc.
sans l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu'à trois ans de prison et jusqu'à 300 000 € de dommages et intérêts.
http://python.developpez.com/tutoriels/python-basic-par-exemple/

Vous aimerez peut-être aussi