Les types

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 :

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.