Valeurs et types#
Dans cette feuille, nous allons utiliser Jupyter comme une calculatrice et introduire quelques concepts sous-jacents : valeurs, opérations, expressions, types.
Expressions et premiers calculs#
Cliquez sur la cellule suivante puis exécutez-la en appuyant sur les touches Maj+Entrée :
1 + 1
2
Techniquement parlant, votre navigateur web a envoyé le contenu de
l”expression 1+1
de la cellule à un
noyau (kernel) (kernel
en anglais) qui l’a
exécutée (execution), avant de renvoyer le
résultat à afficher. Le noyau que nous utilisons (Python3
) permet de
travailler en Python
. Il existe des noyaux pour beaucoup d’autres
langages de programmation.
Définition : Expression
Une expression (expression) est une combinaison de valeurs par des opérations (operation) donnant une nouvelle valeur.
Exemple
L’expression 3 * (1 + 3) + (1 + 4) * (2 + 4)
vaut 42
.
Exécutez la cellule suivante pour calculer la valeur de l’expression :
3 * (1 + 3) + (1 + 4) * (2 + 4)
42
Modifiez l’expression dans la cellule précédente et exécutez-la de nouveau.
Utilisez la cellule suivante pour calculer la surface d’un rectangle de largeur 25 et de longueur 37 :
### BEGIN SOLUTION
25 * 37
### END SOLUTION
925
Notion de type#
Une valeur peut représenter des données de natures très différentes, comme un nombre entier, un nombre réel, un booléen, mais aussi un texte, un relevés de notes, une images, une musique, etc.
Définition :
En Python, chaque valeur a un type (type) qui décrit sa nature. Ce type spécifie en outre :
La structure de donnée : comment la valeur est représentée en mémoire.
La sémantique des opérations.
Les types de données en programmation sont essentiels car ils permettent aux ordinateurs de déterminer la nature des informations qu’ils doivent traiter, stocker ou manipuler. Ils définissent les propriétés et les opérations possibles sur les données représentées, et indiquent commment ces données sont stockées en mémoire.
Les types imposent des contraintes qui contribuent à renforcer l’exactitude des données. De plus, les types sont utiles aux développeurs pour raisonner sur la structure des logiciels.
Définition : Types de base
Les types de base en Python sont :
Les entiers (integer) (type
int
pour integer)
Exemples : 1, 42, -32765
les réels (float) (type
float
)
Exemples : 10.43, 1.0324432e22
les chaînes de caractères (string) (type
str
pour string), entre guillemets ou apostrophes :
Exemples : « bonjour », “Alice aime Bob”
les booléens (Boolean type) (type
bool
pour boolean)
Exemples :True
(vrai),False
(faux)
Les entiers, les caractères et les booléens forment les types ordinaux (ordinal type).
Exemple
La fonction type
permet d’obtenir le type d’une valeur, comme dans
les exemples suivants :
type("Jean")
str
type(23)
int
type(1.70)
float
type(23.)
float
type(True)
bool
Opérations arithmétiques sur les entiers
Opération |
Exemple |
Résultat |
---|---|---|
opposé |
|
5 |
addition |
|
22 |
soustraction |
|
12 |
multiplication |
|
85 |
puissance |
|
8 |
division entière |
|
3 |
reste de la division entière |
|
2 |
Exercice
Les cellules suivantes vous présentent des exemples de calculs. Exécutez-les en observant bien la valeur du résultat ainsi que son type.
3 * (1 + 3) + (1 + 4) * (2 + 4)
42
type(3 * (1 + 3) + (1 + 4) * (2 + 4))
int
42 / 2
21.0
type(42 / 2)
float
42 / 5
8.4
type(42 / 5)
float
42. / 5
8.4
type(42. / 5)
float
42 % 5
2
type(42 % 5)
int
Astuce
Note
Pour éviter de fausses manœuvres, nous configurons de nombreuses
cellules, telles celles ci-dessous, pour qu’elles soient non
modifiables. Pour faire vos propres expérimentations ou pour prendre
des notes personnelles, vous pouvez à tout moment insérer de nouvelles
cellules. Insérez maintenant une cellule ci-dessous en utilisant le
bouton +
sous les onglets. Dans la barre d’outil de cette feuille,
sélectionnez Markdown
à la place de Code
pour en faire une cellule
de texte.
1 + 1.
2.0
type(1 + 1.)
float
42 == 6*7
True
type(42 == 6*7)
bool
41 == 2*21
False
type(41 == 2*21)
bool
Remarque
Dans les dernières cellules précédentes, nous avons testé
l’égalité entre deux valeurs. Le résultat était selon le cas «vrai» ou
«faux», donc de type bool
. C’est un exemple d’expression booléenne.
Notez l’utilisation d’un double égal ==
pour le test
d’égalité. Nous verrons bientôt la signification en Python du simple
égal =
.
Définition : Expressions booléennes (conditions)
Une expression booléenne (Boolean expression) est une expression dont la valeur est «vrai» ou «faux» (type : bool).
Une expression booléenne est aussi appelée une condition (condition).
Exemples :
True
True
False
False
regarde() == Vide
x > 3.14
2 <= n and n <= 5
Opérations booléennes usuelles
Opération |
Exemple |
Résultat |
---|---|---|
comparaison |
|
|
comparaison stricte |
|
|
comparaison stricte |
|
|
égalité |
|
|
inégalité |
|
|
négation logique |
|
|
et |
|
|
ou inclusif |
|
|
Exercice
Pour chacune des cellules suivantes, déterminez de tête la valeur de l’expression booléenne, puis vérifiez la en exécutant la cellule.
1 < 2
True
2 > 3
False
1 < 2 and 2 > 3
False
1 < 2 or 2 > 3
True
Exercice
Pour chacune des expressions suivantes, déterminez de tête le type
et la valeur du résultat, et donnez votre réponse à l’endroit indiqué
dans la cellule de texte sous la forme type
, valeur
; puis vérifiez
en exécutant les cellules.
Type : int, bool, ou float ? Valeur : 7, 9, 11, ou 21 ?
BEGIN SOLUTION
int, 11
END SOLUTION
3 * 2 + 5
11
type(3 * 2 + 5)
int
Type : int, bool, ou float ? Valeur : 12 ou 12.5 ?
BEGIN SOLUTION
int, 12
END SOLUTION
25 / 2
12.5
type(25 / 2)
float
Type : int, bool, ou float ? Valeur : 6, 7, 6.0000, ou 7.0000?
BEGIN SOLUTION
int, 7.0000
END SOLUTION
3.5*2
7.0
type(3.5*2)
float
Type: int, bool, ou float ? Valeur : 5, 4, ou 4.66667 ?
BEGIN SOLUTION
double, 4.66667
END SOLUTION
14. / 3
4.666666666666667
type(14. / 3)
float
Type : int, bool, ou float ? Valeur : 3,7,21, true, ou false ?
BEGIN SOLUTION
bool, true
END SOLUTION
3*7 == 21
True
type(3*7 == 21)
bool
Type : int, bool, double ? Valeur : 21, 25, true, false ?
BEGIN SOLUTION
bool, true
END SOLUTION
(3*7 == 21) and (4.2 > 5.3 or 4*4 == 8*2)
True
type((3*7 == 21) and (4.2 > 5.3 or 4*4 == 8*2))
bool
Type : int, bool, double ? Valeur : 1, 0, true, false ?
BEGIN SOLUTION
bool, false
END SOLUTION
True and False
False
type(True and False)
bool
Type : int, bool, double ? Valeur : 1, 0, True, False ?
BEGIN SOLUTION
bool, false
END SOLUTION
True or False
True
type(True or False)
bool
Type : int, bool, double ? Valeur : 1, 0, true, false ?
BEGIN SOLUTION
bool, True
END SOLUTION
(False and False) or True
True
type((False and False) or True)
bool
Type : int, bool, double ? Valeur : 1, 0, True, False ?
BEGIN SOLUTION
bool, False
END SOLUTION
False and (False or True)
False
type(False and (False or True))
bool
Conclusion#
Bravo, vous avez terminé cette première feuille où nous avons exploré les expressions, opérations, valeurs et types. Nous avons également vu les types de base : int, string, etc.
Nous avons notamment vu que Python détermine le type d’une valeur
littérale en fonction de sa syntaxe; ainsi 42
est de type entier
(int
), tandis que 42.
ou 42.0
est de type réel (float
). Nous
avons aussi vu que le type d’une valeur détermine la sémantique
des opérations que l’on applique dessus : ainsi 17 / 5
calcule la
division euclidienne des deux entiers, tandis que 17. / 5
calcule
leur division comme nombres réels.
Astuce
Aparté : syntaxe, sémantique et algorithme
Ces trois notions – syntaxe, sémantique et algorithme – sont essentielles pour bien spécifier et comprendre le comportement d’un programme. Elles permettent d’exprimer précisément comment un programme doit être écrit, ce qu’il est censé accomplir et de quelle manière il atteint son objectif. En maîtrisant ces concepts, on peut écrire du code plus correct, compréhensible et maintenable, ce qui est fondamental pour tout développement informatique.
Syntaxe (syntax) : comment cela s’écrit
Sémantique (semantics) : ce que cela fait
Algorithme (algorithm) : comment c’est fait
Exemple
Syntaxe : 17 / 5
Sémantique : calcule la division entière de 17 par 5
Algorithme : division euclidienne
Dans la feuille suivante, vous aborderez les variables.
Vous pouvez maintenant revenir à la page d’accueil et cocher cette feuille.