La création d'une classe en python commence toujours par le mot class. Ensuite toutes les instructions de la classe seront indentées :


class leNomDeMaClasse(object):
    #instructions de la classe
#La définition de la classe est terminée.
			

La classe est une espèce de moule (nous reviendrons plus tard sur cette analogie qui a ses limites), à partir de ce moule nous allons créer des objets (plus exactement nous parlerons d'instances). Par exemple nous pouvons créer une classe voiture, puis créer différentes instances de cette classe (Peugeot407, Renault Espace,...). Pour créer une de ces instances, la procédure est relativement simple :


Peugeot407=voiture()
			

Cette ligne veut tout simplement dire : « crée un objet (une instance) de la classe voiture que l'on nommera Peugeot407. »

Ensuite, rien ne nous empêche de créer une deuxième instance de la classe voiture :


RenaultEspace=voiture()
			

Nous rencontrons ici la limite de notre analogie avec le moule. En effet 2 objets fabriqués avec le même moule seront (définitivement) identiques, alors qu'ici nos 2 instances pourront avoir « un destin » très différent.

Pour développer toutes ces notions (et d'autres), nous allons écrire un petit programme (sans aucune prétention) :

Nous allons commencer par écrire une classe « personnage » (qui sera dans un premier temps une coquille vide) et, à partir de cette classe créer 2 instances : Bilbo et Gollum.

À faire vous même 2.1

Saisissez, analysez et testez ce code


#!/usr/bin/env python
# -*- coding: utf-8 -*-
# Défini une classe personnage
class personnage(object):
    #Pour l'instant cette classe est une coquille vide, mais comme elle doit contenir une
    #instruction nous mettons l'instruction pass qui ne fait rien !
    pass
# on crée une instance de la classe personnage nommée Gollum (plus d'indentation, car la définition de la classe est terminée)
gollum=personnage()
# on crée une autre instance de la classe personnage nommée Bilbo
bilbo=personnage()
			

Pour l'instant, notre classe ne sert à rien et nos instances d'objet ne peuvent rien faire, rassurez-vous, cela est provisoire