# Créer la variable a et lui affecter la valeur 8
a = 8
# Créer la variable b et lui affecter la chaîne de caractère "texte"
b = "texte"
# Créer la variable c et lui affecter le booléen True
c = TrueTypes 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
aRemarque : 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)
a = "abcd"
print(a)
a = False
print(a)Astuce : Pour afficher toutes les variables créées et leurs valeurs, vous pouvez utiliser la commande %whos
%whos2 Nombres
La fonction type permet de connaitre le type
a = 8
type(a)b = 33.5
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.1e32.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.53 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
a = 'une chaine de caractères définie avec des apostrophes'
ab = "une chaine de caractères définie avec des guillemets"
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
annee = 2
"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
annee = 2
"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 |
c = "une chaîne\nsur 2 lignes"
print(c)# Définir une chaîne de caractères sur plusieurs lignes
d = """une autre \"possibilité\" pour
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 > 51+1 == 2[1, 2, 3] == [1, 2, 3]"girafe" != "gnou"# Enchainement d'opérateurs
1 < 2 == 2 >= 1 != 24.2 Opérateurs and, or, not
a = True
b = False
a and ba or bnot a(a or b) and (a and not b)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 cellule5.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 cellule5.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 cellule5.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 cellule5.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
a = " Un string très mal formatté. "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 cellule5.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