Académique Documents
Professionnel Documents
Culture Documents
Le langage Python est langage orienté objet, c’est-à-dire qu’il permet de créer des objets, en
définissant des attributs et des fonctions qui leur sont propres. Cependant, certains objets sont
prédéfinis dans le langage. Nous allons voir les plus importants.
- Python a deviné que la variable était un entier. On dit que Python est un langage au
typage dynamique.
- Python a alloué (i.e. réservé) l’espace en mémoire pour y accueillir un entier (chaque
type de variable prend plus ou moins d’espace en mémoire), et a fait en sorte qu’on
puisse retrouver la variable sous le nom x.
- Python a assigné la valeur 2 à la variable x.
Dans certains autres langages, il faut coder ces différentes étapes une par une (en C par
exemple). En Python, la simple instruction x = 2 a suffi à réaliser les 3 étapes en une fois !
Ensuite, l’interpréteur nous a permis de connaître le contenu de la variable juste en tapant son
nom.
Retenez ceci car c’est une spécificité de l’interpréteur Python, très pratique pour chasser les
erreurs (debugging) dans un programme. Par contre, la ligne d’un script Python qui contient
seulement le nom d’une variable (sans aucune autre indication) n’affichera pas la valeur de la
variable à l’écran (pour autant ceci reste valide et ne génèrera pas d’erreur).
Dernière chose, l’opérateur d’affectation = s’utilise dans un certain sens : par exemple x = 2
signifie qu’on attribue la valeur située à droite de l’opérateur = (2) à la variable située à gauche
(x).
Si on a x = y - 3, l’opération y - 3 est d’abord évaluée et ensuite le résultat de cette opération
est affecté à la variable x.
Entiers
type : int
Réels
type : float
exemples de valeurs : 4.0 ; 5.1 ; 1.23e-6
Complexes
type : complex
exemples de valeurs : 3+4j ; 3+4j
Booléens
type : bool
exemples de valeurs : True False
Une chaîne de caractères (string en anglais) est un objet de la classe (ou de type) str. Une chaîne
de caractères peut être définie de plusieurs façons :
>>> "je suis une chaine"
’je suis une chaine’
>>> ’je suis une chaine’
’je suis une chaine’
>>> ’pour prendre l\’apostrophe’
’pour prendre l’ apostrophe’
>>> "pour prendre l’apostrophe"
"pour prendre l’apostrophe"
>>> y = 3.14
>>> y
3.14
>>> a = "bonjour"
>>> a
'bonjour'
>>> b = 'salut'
>>> b
'salut'
Vous remarquez que Python reconnaît certains types de variable automatiquement (entier, réel).
Par contre, pour une chaîne de caractères, il faut l’entourer de guillemets (simples, doubles
guillemets successifs simples ou doubles) afin d’indiquer à Python le début et la fin de la chaîne.
2.3. Nommage des variables
Le nom des variables en Python peut-être constitué de lettres minuscules (a à z), de lettres
majuscules (A à Z), de nombres (0 à 9) ou du caractère souligné ( _ ). Néanmoins, un nom de
variable ne doit pas débuter ni par un chiffre, ni par _ et ne peut pas contenir de caractère
accentué. Il faut absolument éviter d’utiliser un mot “réservé” par Python comme nom de
variable (par exemple : print, range, for, from, etc.).
Python est sensible à la casse, ce qui signifie que les variables TesT, test ou TEST sont
différentes.
Enfin, vous ne pouvez pas utiliser d’espace dans un nom de variable.
2.4. Opérations
2.4.1. Opérations sur les types numériques
Les quatre opérations de base se font de manière simple sur les types numériques (nombres
entiers et réels) :
>>> x = 45
>>> x + 2
47
>>> y = 2.5
>>> x + y
47.5
>>> (x * 10) / y
180.0
Remarquez toutefois que si vous mélangez les types entiers et réels, le résultat est renvoyé
comme un réel (car ce type est plus général). Par ailleurs, l’utilisation de parenthèses permet de
gérer les priorités.
L’opérateur puissance utilise le symbole **. Pour obtenir le reste d’une division entière, on
utilise le symbole modulo % :
>>> 2**3
8
>>> 5 % 4
1
>>> 8 % 4
0
Les symboles +, -, *, /, ** et % sont appelés opérateurs, car ils permettent de faire des opérations
sur les variables.
Pour les chaînes de caractères, deux opérations sont possibles, l’addition et la multiplication :
>>> chaine = "Salut"
>>> chaine
'Salut'
>>> chaine + " Python"
'Salut Python'
>>> chaine * 3
'SalutSalutSalut'
Attention : Vous voyez que les opérateurs + et * se comportent différemment selon s’il s’agit
d’entiers ou de chaînes de caractères : 2 + 2 est une addition, '2' + '2' est une concaténation. On
appelle ce comportement surcharge des opérateurs.
Attention à ne pas faire d’opération illicite car vous obtiendriez un message d’erreur :
>>> 'toto' + 2
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
TypeError: can only concatenate str (not "int") to str
Notez que Python donne le maximum d’information dans son message d’erreur. Dans
l’exemple précédent, il vous indique que vous ne pouvez pas mélanger des objets de type str
(string, donc des chaînes de caractères) avec des objets de type int (donc des entiers), ce qui est
assez logique.
Remarque : il est possible d’indiquer entre les accolades {} dans quel ordre afficher les
variables, avec 0 pour la variable à afficher en premier, 1 pour la variable à afficher en second,
etc. (attention, Python commence à compter à 0). Cela permet de modifier l’ordre dans lequel
sont affichées les variables.
>>> x = 32
>>> nom = 'John'
>>> print('{0} a {1} ans'.format(nom, x))
John a 32 ans
>>> print('{1} a {0} ans'.format(nom, x))
32 a John ans
Pour les nombres très grands ou très petits, l'écriture formatée permet d'afficher un nombre en
notation scientifique (sous forme de puissance de 10) avec la lettre e :
>>> print(f"{1_000_000_000:e}")
1.000000e+09
>>> print(f"{0.000_000_001:e}")
1.000000e-09
Il est également possible de définir le nombre de chiffres après la virgule. Dans l'exemple ci-
dessous, on affiche un nombre avec aucun, 3 et 6 chiffres après la virgule :
>>> number = 6.022_140_76e23
>>> print(f"{number:.0e}")
6e+23
>>> print(f"{number:.3e}")
6.022e+23
>>> print(f"number:.6e}")
6.022141e+23
La méthode time.sleep()
La fonction input()
La méthode os.system("pause")
La méthode time.sleep (secs) suspend l’exécution du fil donné pendant le nombre de secondes
fourni comme secs. Par conséquent, si nous avons besoin de suspendre l’exécution du
programme, nous pouvons le faire en fournissant la durée en secondes à la méthode time.sleep().
L’exemple de code ci-dessous montre comment utiliser la méthode time.sleep() pour mettre en
pause un programme Python.
import time
time_duration = 3.5
time.sleep(time_duration)
Si nous voulons mettre un programme en pause pour obtenir une entrée de l’utilisateur, nous
pouvons le faire en utilisant la fonction input() comme vu précédemment. Nous pouvons
également utiliser cette méthode pour mettre le programme en pause jusqu’à ce que la
touche Enter soit enfoncée. L’exemple de code ci-dessous montrent comment utiliser les
input() pour ce faire.
input("Please press the Enter key to proceed")
Un double clic sur notre tout premier programme au chapitre 1 ( print("Mon premier
programme" ) enregistré sous un fichier d’extension .py va ouvrir la console de commande et
la refermer aussi vite, ne nous permettant pas de voir notre message. La
méthode os.system("pause") met en pause l’exécution du programme et nous demande
d’appuyer sur une touche pour continuer.
NB: Cette méthode est Malheureusement déconseillée et ne fonctionne que sur Windows .Il ne
fonctionne sur aucun autre système d’exploitation.
2.12. Exercices :
1) En utilisant l’écriture formatée, affichez en une seule ligne les variables a, b et c dont
les valeurs sont respectivement "salut", 102 et 10.318. Exécuter ce programme en
double cliquant sur le fichier d’extension .py que vous allez créer.
2) Écrivez un programme qui demande le nom et prénom à d’un utilisateur, et qui l’affiche
ensuite à l’écran avec un message commençant par : L'utilisateur est….
Rajouter le code permettant de stocker l’argent contenu (en franc cfa) dans la poche
gauche, puis l’argent contenu dans la poche droite
Rajouter le code pour afficher l’argent total que porte la personne.
3) Écrire un programme qui, à partir de la saisie d'un rayon et d'une hauteur (en m), calcule
le volume d'un cône droit (en m3)