Les types usuels en python.
Les types int et float
a=5+6
print('Valeur de a : ',a)
print('Type de a : ',type(a))
b=5/6
print('Valeur de b : ',b)
print('Type de b : ',type(b))
c=5//6
print('Valeur de c : ',c)
print('Type de c : ',type(c))
d=5.2
print('Valeur de d : ',d)
print('Type de d : ',type(d))
d=int(5.2)
print('Valeur de d : ',d)
print('Type de d : ',type(d))
Valeur de a : 11 Type de a : class 'int' Valeur de b : 0.8333333333333334 Type de b : class 'float' Valeur de c : 0 Type de c : class 'int' Valeur de d : 5.2 Type de d : class 'float' Valeur de d : 5 Type de d : class 'int'
Le type bool
Voir la fiche sur les booléens.
Le type str
a='je suis une chaîne de caractères.'
print('Valeur de a : ',a)
print('Type de a : ',type(a))
b=str(5.6)
print('Valeur de b : ',b)
print('Type de b : ',type(b))
c='5.6'
print('Valeur de c : ',c)
print('Type de c : ',type(c))
d=float('5.6')
print('Valeur de d : ',d)
print('Type de d : ',type(d))
e=8
print('Valeur de e : ',e)
print('Type de e : ',type(e))
f='8'
print('Valeur de f : ',f)
print('Type de f : ',type(f))
g=int('8')
print('Valeur de g : ',g)
print('Type de g : ',type(g))
h='5+8'
print('Valeur de h : ',h)
print('Type de h : ',type(h))
i=eval('5+8')
print('Valeur de i : ',i)
print('Type de i : ',type(i))
j='5.0+8'
print('Valeur de j : ',j)
print('Type de j : ',type(j))
k=eval('5.0+8')
print('Valeur de k : ',k)
print('Type de k : ',type(k))
Valeur de a : je suis une chaîne de caractères. Type de a : class 'str' Valeur de b : 5.6 Type de b : class 'str' Valeur de c : 5.6 Type de c : class 'str' Valeur de d : 5.6 Type de d : class 'float' Valeur de e : 8 Type de e : class 'int' Valeur de f : 8 Type de f : class 'str' Valeur de g : 8 Type de g : class 'int' Valeur de h : 5+8 Type de h : class 'str' Valeur de i : 13 Type de i : class 'int' Valeur de j : 5.0+8 Type de j : class 'str' Valeur de k : 13.0 Type de k : class 'float'
Le type list
def f(x) : return 2*x+1
a=[ 4, 're', 8.0, f, 8/3, 8//3, 'f(3)', f(3), str(f(3)), print ]
print("Le contenu de la liste a : ", a)
print("Le type de a : ", type(a) )
for i,x in enumerate(a) :
print( "Valeur de a[{}] : {}.".format(i,x) )
print( "Type de a[{}] : {}.".format(i,type(x)) )
Le contenu de la liste a : [4, 're', 8.0, function f at 0x7f3ebc767b70, 2.6666666666666665, 2, 'f(3)', 7, '7', built-in function print] Le type de a : class 'list' Valeur de a[0] : 4. Type de a[0] : class 'int'. Valeur de a[1] : re. Type de a[1] : class 'str'. Valeur de a[2] : 8.0. Type de a[2] : class 'float'. Valeur de a[3] : function f at 0x7f3ebc767b70. Type de a[3] : class 'function'. Valeur de a[4] : 2.6666666666666665. Type de a[4] : class 'float'. Valeur de a[5] : 2. Type de a[5] : class 'int'. Valeur de a[6] : f(3). Type de a[6] : class 'str'. Valeur de a[7] : 7. Type de a[7] : class 'int'. Valeur de a[8] : 7. Type de a[8] : class 'str'. Valeur de a[9] : built-in function print. Type de a[9] : class 'builtin_function_or_method'.
Passage d'une liste à une chaîne et réciproquement.
Il est parfois utile de passer d'une liste à une chaîne, d'une chaîne à une liste.
On consultera notamment les fonctions join et split :
- sur "Dive into python"
- join et split
Le type function
def f(x) : return x**2
g=lambda x:x**2
Listef=[ f(k) for k in range(5)]
print("Liste d'images par f : ", Listef)
Listeg=[ g(k) for k in range(5)]
print("Liste d'images par g : ", Listeg)
print('Type de f : ', type(f) )
print('Type de g : ', type(g) )
Liste d'images par f : [0, 1, 4, 9, 16] Liste d'images par g : [0, 1, 4, 9, 16] Type de f : class 'function' Type de g : class 'function'
Le type tuple
Nous utiliserons peu le type tuple dans le cours ISN.
Un exemple parmi les nombreux intérêts de ce type : pouvoir retourner plusieurs valeurs par une fonction.
Programmons par exemple la division euclidienne :
def divEucl(a,b):
""" a et b sont deux entiers naturels, b non nul.
divEucl retourne le quotient et le reste dans la division de a par b
sous forme d'un tuple."""
q=0
while a >= b :
a-=b
q+=1
return (q, a)
a=123
b=7
quotient, reste = divEucl(a,b)
print(quotient)
print(reste)
17 4
Le type dict
Un dictionnaire est une sorte de liste dont les éléments sont référencés (indicés) par des éléments de notre choix.
Quelques exemples clarifieront cela :
a={ 'Damien' : 15, 'Hélène' : 20, 'Sophie' : 18 }
print('Le type de a : ', type(a))
for x in a :
print("Nom de l'élève : {}. Note de l'élève : {}.".format(x, a[x]))
print("Ajout d'un élément.")
a['Dartempion']=0
print(a)
On obtient :
Le type de a : <class 'dict'> Nom de l'élève : Hélène. Note de l'élève : 20. Nom de l'élève : Sophie. Note de l'élève : 18. Nom de l'élève : Damien. Note de l'élève : 15. Ajout d'un élément. {'Hélène': 20, 'Sophie': 18, 'Dartempion': 0, 'Damien': 15}
On remarquera que l'ordre d'affichage n'est pas nécessairement l'ordre de définition. Il n'y a en fait pas d'ordre dans les éléments d'un dictionnaire.
Pour en savoir plus sur les dictionnaires, on pourra consulter le cours de G.Swinnen.