# Créer la variable a et lui affecter la valeur 8
= 8
a
# Créer la variable b et lui affecter la chaîne de caractère "texte"
= "texte"
b
# Créer la variable c et lui affecter le booléen True
= True c
Types et variables
Avant de commencer
- Téléchargez ce notebook Jupyter
- Connectez-vous au Jupyter ENSAI avec id et mot de passe
- ou une autre plate-forme (SSPCloud, Jupyter Lab, Google Colab, Kaggle…)
- Importez le fichier .ipynb
Introduction
Dans ce notebook, nous allons découvrir les types de base en python :
- numériques
- int : entiers
- float : décimaux
- chaines de caractères : str
- booléens : bool
1 Affectation de variables
# Afficher le contenu de a
a
Remarque : Un notebook n’affiche que la dernière valeur qui lui est demandé.
Pour réaliser plusieurs affichages, il faut utiliser la méthode print
print(a+1)
print(b)
print(c)
Python est langage typé dynamiquement.
Cela siginifie qu’il est possible de modifier le type d’une variable sans contrainte.
Si la variable a contient du texte, il est possible de lui affecter ensuite un entier.
print(a)
= "abcd"
a print(a)
= False
a print(a)
Astuce : Pour afficher toutes les variables créées et leurs valeurs, vous pouvez utiliser la commande %whos
%whos
2 Nombres
La fonction type
permet de connaitre le type
= 8
a type(a)
= 33.5
b type(b)
float('inf')
2.1 Convertions
Les fonctions float
et int
peuvent être utilisées pour passer d’un type à l’autre.
# Conversion en float
float(a)
# Conversion en int (partie entière)
int(b)
# Notation scientifique
2.1e3
2.2 Opérations arithmétiques de base
# Addition
1 + 1
# Soustraction
6 - 2
# Multiplication
3 * 4
# Division
11 / 5
# Division euclidienne : quotient
11 // 5
# Division euclidienne : reste (modulo)
11 % 5
# Puissance
2 ** 10
# Racine carrée
36 ** 0.5
3 Chaînes de charactères
Les chaînes de caractères (strings) sont utilisées pour stocker de l’information textuelle.
Un string se définit en mettant l’information entre apostrophes '
ou entre guillemets "
.
3.1 Définition
= 'une chaine de caractères définie avec des apostrophes'
a a
= "une chaine de caractères définie avec des guillemets"
b b
# Pour inclure une apostrophe à l'intérieur de la chaine
"j'inclus l'apostrophe"
# Pour inclure des guillemets à l'intérieur de la chaine
'les "guillemets" sont là'
3.2 Métodes utiles
Voici un aperçu de quelques méthodes utiles. De nombreuses autres existent (voir documentation officielle)
# Longueur d'une chaîne (nombre de caractères)
len("J'ai 18 caractères")
# Concaténation
"I am" + "your father"
" ".join(["I am", "your father"])
# Concaténation avec un nombre
= 2
annee "je suis en " + annee + "ème année"
Problème, il faut au préalable convertir le nombre en chaîne de caractères.
La méthode str fait le travail.
# Concaténation avec un nombre - après convertion du nombre en string
= 2
annee "je suis en " + str(annee) + "ème année"
# Répétition
"hop " * 5
# Mettre en majuscules
"C'est OK".upper()
# Mettre en minuscules
"C'est OK".lower()
# Compter le nombre d'occurences
"Mangez cinq fruits et légumes par jour".count("a")
# Créer une liste de mots
"Mangez cinq fruits et légumes par jour".split()
# Séparer les mots selon un caractère spécifique
"un-deux-trois-soleil".split("-")
# Utiliser les strings comme templates
"mon numéro est : {}".format("06 12 34 56 78")
# Commence par ?
"vélo".startswith("vé")
# Se termine par ?
"vélo".endswith("lo")
3.3 Extraire des sous-chaînes
Une chaîne de caractères est considérée en Python comme une liste de caractères.
Il est donc possible d’extraire différents éléments de cette liste
# Premier élémént
"c'est de toute beauté"[0]
# Deuxième élémént
"c'est de toute beauté"[1]
# Dernier élémént
"c'est de toute beauté"[-1]
# À partir d'un certain caractère
"c'est de toute beauté"[6:]
# Jusqu'à un certain caractère
"c'est de toute beauté"[:8]
# Extraire une sous-chaîne
"c'est de toute beauté"[9:14]
# Extraire tous les 2 caractères, à partir de la 4 ème position
"c'est de toute beauté"[4::2]
# Inverser une chaîne
"c'est de toute beauté"[::-1]
Caractères spéciaux
Pour insérer des caractères spéciaux au sein d’une chaîne de caractère, il faut utiliser le caractère d’échappement \
.
Caractère | Description |
---|---|
\ | Caractère d’échappement |
\’ | Apostrophe |
\” | Guillemets doubles |
\n | Retour à la ligne |
\t | Tabulation horizontale |
\r | Retour chariot |
= "une chaîne\nsur 2 lignes"
c print(c)
# Définir une chaîne de caractères sur plusieurs lignes
= """une autre \"possibilité\" pour
d avoir une chaîne sur 2 lignes"""
print(d)
4 Booléens
Les Booléens ne peuvent prendre que deux valeurs : True
et False
Attention à bien respecter la notation avec la première lettre en majuscule et les autres en minuscule.
type(True)
4.1 Opérateurs de comparaison
Opérateur | Signification |
---|---|
== | Egal à |
!= | Non égal à |
< | Strictement inférieur à |
> | Strictement supérieur à |
<= | Inférieur ou égal à |
>= | Supérieur ou égal à |
8 > 5
1+1 == 2
1, 2, 3] == [1, 2, 3] [
"girafe" != "gnou"
# Enchainement d'opérateurs
1 < 2 == 2 >= 1 != 2
4.2 Opérateurs and, or, not
= True
a = False
b
and b a
or b a
not a
or b) and (a and not b) (a
5 Exercices
5.1 Exercice 1
Calculer la somme des longueurs des trois chaînes de caractères suivantes :
- “une première chaîne”
- “et une deuxième”
- “jamais deux sans trois”
# Tapez votre réponse dans cette cellule
5.2 Exercice 2
Quel est le type adapté pour définir un code postal ?
Essayer de définir les codes postaux suivants au format int
et au format string
:
- 92120
- 02350
Que concluez-vous ?
# Tapez votre réponse dans cette cellule
5.3 Exercice 3
Compter le nombre de fois où la lettre e est présente dans la chaîne suivante : Je compte le nombre de e dans cette chaîne de caractères
# Tapez votre réponse dans cette cellule
5.4 Exercice 4
Repérer la première position où la lettre e est présente dans la chaîne suivante : “Je fais un comptage des e.”
Indice : on peut utiliser la méthode built-in find.
# Tapez votre réponse dans cette cellule
5.5 Exercice 5
Supprimer les espaces superflus au début et à la fin de la chaîne suivante :
Indice : on peut utiliser la méthode built-in strip.
# Tapez votre réponse dans cette cellule
= " Un string très mal formatté. " a
5.6 Exercice 6
Réaliser la suite d’opérations suivantes à l’aide des opérateurs d’incrémentation, et imprimer la valeur finale :
- initialiser une variable à 1
- lui soustraire 5
- la multiplier par 4
- lui ajouter 22
# Tapez votre réponse dans cette cellule
5.7 Exercice 7
Considérons les deux séquences suivantes :
- “nous sommes en”
- “2022”
Trouvez à partir du tutoriel deux manières différentes de les utiliser pour composer la séquence “nous sommes en 2022”.
# Tapez votre réponse dans cette cellule