>>> class Point : ... "Définition d'un point mathematique"
L'indentation, dans ce qui précède, est obligatoire : toutes les lignes de la classes doivent commencer par le même nombre d’espaces.
Notons aussi qu'une classe doit contenir au moins une ligne de contenu, et que son nom commence par une majuscule (c'est une convention).
L'instanciation d’objets se fait à l'aide d'une simple instruction d'affectation :
>>> p = Point()
...à adapter, au cas où, au nombre d’arguments qu’autorisent vos constructeurs (pas de new, donc, en Python).
Pour connaître la classe de l'instance p :
>>> p = Point() >>> type(p) <type 'instance'> >>> print p <__main__.Point instance at 0xb79eeb4c>
p est donc bien une instance de la classe Point(), définie elle-même au niveau principal du programme. Cette instance est située dans un emplacement bien déterminé de la mémoire vive, dont l'adresse apparaît ici en notation hexadécimale.
Considérons l'objet suivant
>>> p1 = Point() >>> p1.x = 3 >>> p1.y = 4
Par l'instruction
>>> p2 = p1
Nous créons deux références d'un même objet :
>>> print p1 <__main__.Point instance at 00C2CBEC> >>> print p2 <__main__.Point instance at 00C2CBEC> >>> print (p1 == p2) 1
Et, évidemment, si l'on modifie p1, alors p2 sera aussi modifié.
Inversement, si l'on crée deux objets avec les mêmes attributs :
>>> p1 = Point() >>> p1.x = 3 >>> p1.y = 4 >>> p2 = Point() >>> p2.x = 3 >>> p2.y = 4
Ces deux objets ne sont pas égaux, puisqu'ils n'occupent pas la même place mémoire :
>>> print p1 <__main__.Point instance at 00C2CBEC> >>> print p2 <__main__.Point instance at 00C50F9C> >>> print (p1 == p2) 0