Langage Python: Séance 1 - Les types
Introduction
Python est un langage de programmation créé en 1989 par le hollandais Guido van Rossum. Il est gratuit, sous licence libre et fait partie des langages les plus populaires. Il est par exemple utilisé en classe préparatoire ainsi qu'en université dès cette année. Il a de nombreuses applications notamment dans le calcul scientifique, les graphiques, les traitements d'images et de sons, les jeux, les réseaux...
Il en est à sa version 3. Nous utiliserons le logiciel Edupython proposé par l'académie d'Amiens et construit sur la base de PyScripter.

Il existe différents types de variables, voici les principaux:
- les nombres: entiers et décimaux
- les chaînes de caractères
- les listes
- les dictionnaires
- les booléens
Les nombres: type int
et float
Le type int
: nombres entiers
"int" vient de "integer" qui signifie nombre entier. Voici un premier exemple:
>>> note = 18 # affecter la valeur 18 à la variable nommée note
>>> print(note) # afficher la variable grâce à print
18
>>> print(type(note)) # afficher le type de la variable note
<class 'int'>
Le type float
: nombres à virgule flottante
Opérations sur les nombres
- Additions, soustractions, multiplications, exposants:
>>> print(note)
18
>>> note = note+2 # ou note += 2
>>> print(note)
20
>>> note = note-13 # ou note -= 13
>>> print(note)
7
>>> note = note*2 # ou note *= 2
>>> print(note)
14
>>> 7**2
49
- Divisions:
>>> 7/3
2.3333333333333335
>>> 7//3 # quotient de la division
2
>>> 7%3 # reste de la division
1
- Apport d'un module
La racine carrée d'un nombre se calcule à l'aide de la commande sqrt
.
Que renvoie la commande suivante?
>>> sqrt(2)
La commande sqrt
n'est pas implicitement définie dans python, il faut appeler un module, ici le module math
pour que cela fonctionne. Voici les étapes:
>>> import math # on importe le module math
>>> math.sqrt(2) # on va chercher dans le module math
la commande sqrt
1.4142135623730951
Remarque: Lorsque vous tapez "math." dans la fenêtre, le logiciel vous indique toutes les fonctions que contient le module math.
Les chaînes de caractères: type str
"str" vient de "string" qui signifie chaîne. Par exemple, affecter la valeur "Tu auras ton BAC!" à la variable nommée phrase:
>>> phrase = "Tu auras ton BAC!"
Puis afficher son type.
On peut remplacer les guillemets par des apostrophes. Cela servira dans ces cas là:
>>> print(' Jeanne dit: "On arrive bientôt?" ')
On peut égalemet écrire sur plusieurs lignes avec les triples guillemets ou apostrophes:
print("""Coucou,
ça va?""")
Opérations sur les chaînes
- Concaténation avec +:
>>> prenom = "Jean-Jacques"
>>> nom = "Goldman"
>>> chaine = nom + prenom # Concaténation de deux chaînes
>>> print(chaine)
'Jean-JacquesGoldman'
>>> chaine = nom + " " + prenom # Concaténation de trois chaînes dont un espace
>>> print(chaine)
'Jean-Jacques Goldman'
>>> chaine = chaine + " est un compositeur français" # L'espace est dans la phrase ajoutée
'Jean-Jacques Goldman est un compositeur français'
- Longueur d'une chaîne avec len()
:
>>> len(nom)
7
- Elément d'une chaîne:
>>> nom[0] # Attention, les lettres sont indicées à partir de 0
'G'
>>> nom[1]
'o'
>>> nom[-1]
'n'
>>> nom[1:3]
>>> nom[0:len(nom)-1]
Les listes: type list
On utilise des crochets: [ ].
Par exemple, créer la liste suivante nommée bulletin:
>>> bulletin = ['Alix',18,7,20,14]
- Elément d'une liste:
>>> bulletin[0]
'Alix'
- Créer des listes de nombres avec range
:
>>> liste = list(range(10)) # liste allant de 0 inclus à 10 exclus!
>>> print(liste)
[0,1,2,3,4,5,6,7,8,9]
>>> liste = list(range(1,10)) # liste allant de 1 inclus à 10 exclus!
>>> print(liste)
[1,2,3,4,5,6,7,8,9]
>>> liste = list(range(0,10,2)) # liste allant de 0 inclus à 10 exclus avec un pas de 2
>>> print(liste)
[0,2,4,6,8]
Les dictionnaires: type dict
Un dictionnaire sert à stocker des données sous la forme clé:valeur.
On utilise des crochets: { }.
Par exemple, créer le dictionnaire suivant nommé moyennes:
>>> moyennes = {'prenom':'Alix', 'math':18, 'histoire': 12}
- Elément d'un dictionnaire:
>>> moyennes['math']
18
Les booléens: type bool
Un booléen ne prend que deux valeurs: True
ou False
.
Les opérateurs de comparaison :
Opérateur | Signification | Remarques |
---|---|---|
< | strictement inférieur | |
<= | inférieur ou égal | |
> | strictement supérieur | |
>= | supérieur ou égal | |
== | égal | Attention : deux signes == |
!= | différent | |
is |
identique | Deux conditions : égal et même type |
is not |
non identique |
>>> note=15 # On affecte la valeur 15 à la variable note
>>> note==10 # On teste si la variable note est égale à 10
False
>>> note>10
True
>>> note>10 and note<16
True
>>> note>10 or note<8
True
>>> note!=15
False
- Créer une liste de nombres quelconque nommée liste.
- Tester si le nombre 9 est dans celle-ci.
- Créer une chaine quelconque nommée chaine.
- Tester si la lettre e est dans celle-ci.
POO: la Programmation Orientée Objet
Lorsque vous créez une liste, de type list
, nommée notes par exemple, vous créez en fait un objet de la classe list
. Ainsi, vous pouvez appliquer à notes les méthodes de la classe list
:
>>> notes=[18,20,4,10]
>>> notes.append(3)
>>> print(notes)
[18,20,4,10,3]
>>> notes.reverse()
>>> print(notes)
[3,10,4,20,18]
Autres exemples sur d'autres types:
>>> phrase="COUCOu"
>>> phrase.lower()
'coucou'
>>> moyennes = {'prenom':'Alix', 'math':18, 'histoire': 12}
>>> moyennes.keys()
['prenom','math','histoire']
>>> moyennes.values()
['Alix',18,12]
>>> moyennes.pop('math')
18
>>> print(moyennes)
{'prenom':'Alix','histoire':12}
Mini-projet: Fréquence d'apparition
Choisir un poème de votre choix sur internet (en vous assurant de la liberté de copie du texte). Ecrire un programme qui, à partir de ce poème, construit un dictionnaire dans lequel on stockera la fréquence d'apparition de chaque voyelle (en omettant les voyelles accentuées).