Il existe une infinité de types de variables. Il est important de connaître les principaux, qui sont communs à tous les langages informatiques.

On les appelle basic data types. Dans cet article, on va ainsi voir :

  • Les entiers -  int en Python
  • Les décimaux -  float en Python
  • Les indicateurs logiques - bool en Python
  • Les chaines de caractères - str en Python
  • Les caractères

Note : une chaine de caractère, c'est juste une liste de variables de type char !

Astuce : Si vous souhaitez connaitre le type d'une variable en Python, on peut appeler la méthode type().

Rappelez-vous, les méthodes sont des fonctions déjà existantes dans Python. Il en existe plusieurs et un chapitre y est totalement consacré. Nous avons déjà vu une fonction avant celle-ci, la fonction print().

  • print(): affiche un élément.
  • type(): affiche le type de cet élément

Quand utiliser les types

Si vous voulez contrôler qu'un utilisateur dans un formulaire rentre correctement son âge et pas une chaine de caractère quelconque, vous devez vérifier que cette donnée est bien "transformable" en int.

Il est tout à fait possible d'enregistrer le type d'une variable, à l'intérieur d'une autre variable. Par exemple :

name = 'Thueban'

Je peux assigner le type de ma variable name dans la variable type_name comme ceci :

type_name = type(name)

Et type_name sera de type type !

Les Entiers

Ce sont tous les nombres qui n'ont pas de virgule. Ils se notent int de l'anglais integer. Qui veut dire entier en anglais.

Par exemple 3, 6, -8, -63, 456 sont des entiers.

Ainsi :

type(-8)

Retournera :

>>>int

Les décimaux

Ce sont les nombres à virgules.

On le note float de l'anglais Floating-Point Numbers qui veux dire nombre flottant à point.

En effet les Anglais n'utilisent pas des virgules mais des points pour leur nombres décimaux.

En Python c'est pareil, la virgule se note avec un point !

On écrira 6.4 et non pas 6,4

Ainsi,

type(3/2)

est égal à

float

Pour 3/2 tu l’auras compris, Python prend en compte le résultat du calcul.

Celui-ci étant de 1.5, qui ne peut pas être enint, Python va le transformer en  float automatiquement !

Les indicateurs logiques

Le terme Booléen provient d'un langage informatique binaire, inventé par le mathématicien M.George Boole.

Il consiste à programmer des variables. Elles peuvent être le chiffre 0 qui correspond à Faux. Ou le chiffre 1 qui correspond à Vrai. Les indicateurs logiques sont indiqués en python par un bool, de l'anglais booléen.

Il n’existe que 2 indicateurs logiques : True et False.

Attention : Ici la première lettre doit absolument être en majuscule.

Le type booléen prendra tout son sens après le chapitre des conditions. Mais voici tout de même quelques exemples pour mieux comprendre son utilité. Par exemple, tu seras sûrement d’accord pour dire que 3 est plus petit que 4.

Si l'on écrit 3 inférieurs à 4 comme ceci :

print(3 < 4)

Python va renvoyer :

True

Si l'on écrit 3 supérieur à 4 comme ceci :

print(3 > 4)

Python va renvoyer :

False

On y arrive, le dernier type... PRIMITIF... Tu ne m'as pas laissé finir ma phrase...

Les chaînes de caractères

Il peut s’agir d’un mot ou d’une suite de mots, comme dans une phrase, ou bien de symboles, lettres ou nombres.

Pour écrire une chaîne de caractères on doit l'entourer de " "

Elles se notent str de l'anglais String qui veux dire chaine de caractères.

Si une variable de type  int est écrite entre des " " , elle sera considérée comme une chaîne de caractère.

Donc :

print("3" + "2" )

Affichera :

32

Et non pas 5

type("3")

Retourne :

str

Comment Écrire un guillemet dans une chaine de caractère ?

Pour cela il y a deux méthodes :

  • La première est d'utiliser un \ avant le caractère.
    Cela permet de dire a Python de le prendre en compte en tant que chaîne de caractère.

Par exemple :

'C\'est mon texte'

La seconde méthode est d'utiliser d'abord ces guillemets " " puis ceux-ci à l'intérieur ' '.

Par exemple :

"Il me lança un 'hello' puis s'en alla"

Les listes

En Python, on peut créer une variable de type list qui pourra contenir une liste de variables.  Deux caractéristiques de ce langage :

  • Il est possible de mettre plusieurs types de variables dans une même liste.
  • Il n'est pas nécessaire de préciser la taille de la liste en avance !

Index d'une Liste

family = ['Dhaknud',21.6,'Dhasigri',24.7,'Dhalfdan',15.4,'Dhaskegi',13.6 ]

En voilà une jolie liste.

Comme dans le cours, nous allons maintenant accéder à des éléments de la liste.

Rappelez-vous, pour cela nous devons utiliser son index.

L'index commence par 0.

Le premier élément a donc l'index 0.

Nous pouvons bien évidemment manipuler des éléments sélectionnés.

Comme les additionner par exemple.

fruit_list = ['a' ,'b','c','d']  
print(fruit_list[0]+fruit_list[1]) 

Retournera :

'ab'

Car c'est l'addition de chaines de caractères

Les Sous Listes :

Pour séparer les éléments d'une liste, et en faire une sous-liste on utilise la notation suivante :

part_list = list[index du début:index de fin]

Attention !

L'index de fin est exclusif, Il n'est pas pris en compte.

Comme vu dans le cours, votre liste peut être un enchaînement de listes, contenant elles-mêmes des éléments.

Dans ce cas là les indexes renvoient vers les sous listes et non vers les éléments.

Par exemple pour la liste :

fruit=[['banane',1],
       ['pomme', 2],
       ['poire', 3]]

print(fruit[0])

Affichera :

['banane',1]

Donc maintenant vous l'avez vu nous pouvons mettre des listes dans une liste.

Pour accéder aux éléments d'une sous liste on utilise un crochet supplémentaire.

Par exemple pour la liste :

fruit = [['banane',1], 
         ['pomme', 2], 
         ['poire', 3]]  

fruit[0] 

Retournera

['banane',1]

La première sous liste.

Si je veux sélectionner l'élément banane qui est le premier élément de la première sous liste j'écris  :

fruit[0][0]

Ici le premier [0] va sélectionner la première sous liste ['banane','1'].

Le second [0] va sélectionner le premier élément de cette sous liste, 'banane'

fruit = [['banane',1],
         ['pomme',2],
         ['poire',3]]

Si je veux sélectionner 'poire' j'écris :

fruit[2][0]

Ainsi [2] va sélectionner le troisième élément :

['poire',3]

Le [0] va sélectionner le premier élément de cette sous liste : 'poire'

fruit[2][1]

Retournera :

3

Et comment manipuler une liste ?

Il arrive souvent qu'une valeur soit fausse et qu'il faille la changer.

Dans une liste c'est relativement facile.

Il suffit de la sélectionner et de lui assigner une autre valeur.

Par exemple :

fruit = ['banane','pomme','poire']

Pour changer 'banane' en 'orange'

Il suffit d'écrire :

fruit[0] = 'orange'

fruit sera égal à :

['orange','pomme','poire']

Bien évidemment la taille d'une liste n'est pas fixe.

On peut y ajouter des éléments en faisant une extension avec une autre liste par exemple :

fruit = ['banane','poire']  
new_fruit= list_fruit + ['orange']  
new_fruit

Affichera :

['banane','poire','orange']

Une autre façon d'ajouter un élément à une liste est la méthode append()

Par contre, la méthode append() ne permet d'ajouter qu'un élément à la fois.

Exemple d'utilisation :

fruit = ['banane']  
fruit.append('pomme')  

fruit retournera :

['banane', '**pomme**']

Enfin ! Après avoir appris à ajouter un élément et modifier un élément, apprenons à supprimer un élément !

Pour supprimer un élément dans une liste, on utilise del() :

fruit = ['banane','pomme','poire']  
del(fruit[0]) 

La variable fruit retournera :

['pomme','poire']

Attention !

Les index se changeront aussi si l'on refait :

del(fruit[0])  

fruit retournera :

['poire']

Rappelle-toi de la notation :

[index début : index fin]

Par exemple [3:5] pour sélectionner de l'index 3 à l'index 4. Car le deuxième est toujours exclusif en Python.

On peut compter les éléments en partant du dernier vers le premier en utilisant les index -1, -2 ...

L'avant-dernier index de fruit est fruit[-2] le dernier est fruit[-1]

Ainsi :

fruit = ['banane','pomme','poire']  
fruit[-1] 
fruit[-2]

Retourne :

'poire'
'pomme'

Si nous avons une liste :

fruit = ['pomme', 'banane']

Et que nous faisons :

fruit2 = fruit 

Alors fruit2 sera égale à :

['pomme','banane']

Mais fruit2 n'est pas une copie de fruit.

Il pointe juste vers fruit.

Il s'agit en fait de la même liste.

Si on supprime un élément de fruit2:

del(fruit2[0])

fruit2 sera égal à :

['banane']

Mais fruit sera aussi égal à :

['banane']


Donc comme nous l'avons vu dans l'exercice précédent, utiliser un = ne fait pas une copie de la liste.

Cela crée une liste qui pointe vers la première.

Pour copier une liste il existe plusieurs façons.

En voici 3…

Prenons notre liste fruit par exemple :

fruit = ['banane','pomme']

Méthode 1 :

La méthode list()

copy1 = list(fruit) 

La méthode list() crée une copie d'une variable sous forme de liste.

Mais celle-ci ne sera pas considérée comme une variable.

Méthode 2 :

La méthode copy()

copy2 = fruit.copy()

La méthode copy() crée une copie de la variable.

Si celle-ci est une liste, la copie sera une liste ais si celle-ci est d'un autre type, son type sera copié aussi.

Méthode 3 : La méthode de sélection :

copy3 = fruit[:]

Ici on indique tout simplement que copy3 va être la copie de fruit du premier index au dernier comme vu précédemment.

À toi de jouer maintenant, sur Dhaki !