Section courante

A propos

Section administrative du site

Types et objets

Toutes les données entreposées dans un code source Python sont construites autour du concept d'objet. Les objets incluent des types de données fondamentaux tels que des nombres, des chaînes de caractères, des listes et des dictionnaires. Il est également possible de créer des objets définis par l'utilisateur sous la forme de classes ou de types d'extension. Chaque élément de données entreposé dans le programme est un objet. Chaque objet a une identité, un type et une valeur.

Par exemple, lorsque vous écrivez a = 74, un objet entier est créé avec la valeur 74. Vous pouvez afficher l'identité d'un objet sous la forme d'un pointeur vers son emplacement en mémoire. Le a est un nom faisant référence à cet emplacement spécifique. Le type d'un objet (étant lui-même une sorte d'objet) décrit la représentation interne de l'objet ainsi que les méthodes et opérations prises en charge. Lorsqu'un objet d'un type particulier est créé, cet objet est parfois appelé une instance de ce type. Une fois qu'un objet est créé, son identité et son type ne peuvent pas être modifiés. Si la valeur d'un objet peut être modifiée, l'objet est dit mutable. Si la valeur ne peut pas être modifiée, l'objet est dit immuable. Un objet contenant des références à d'autres objets est considéré comme un conteneur ou une collection. En plus de contenir une valeur, de nombreux objets définissent un certain nombre d'attributs de données et de méthodes. Un attribut est une propriété ou une valeur associée à un objet. Une méthode est une fonction effectuant une sorte d'opération sur un objet lorsque la méthode est appelée. Les attributs et méthodes sont accessibles à l'aide de l'opérateur point (.), comme le montre l'exemple suivant :

g = 7 + 4j
l = g.real
a = [1, 2, 3, 4]
a.append(5)

Identité et type d'objet

La fonction intégrée id() renvoie l'identité d'un objet sous le format d'un entier. Cet entier correspond généralement à l'emplacement de l'objet en mémoire, bien que cela soit spécifique à la mise en oeuvre de Python et à la plateforme utilisée. L'opérateur is compare l'identité de deux objets. La fonction intégrée type() renvoie le type d'un objet. Voici un exemple en Python 3 :

  1. def comparaison(i,j):
  2.    print("L'identité de i est ",id(i))
  3.    print("L'identité de j est ",id(j))
  4.    if i is j:
  5.       print("i et j sont le même object")
  6.    if i == j:
  7.       print("i et j sont la même valeur")
  8.       print("Leur valeur est ",i)
  9.    if type(i) is type(j):
  10.       print("a et b ont le même type")
  11.    print('---');
  12.        
  13. comparaison(1,2)
  14. comparaison(2,2)
  15. comparaison("g",3)

Le type d'un objet est lui-même un objet. L'objet type est défini de manière unique et est toujours le même pour toutes les instances d'un type donné. Par conséquent, le type peut être comparé à l'aide de l'opérateur is. Tous les objets de type reçoivent des noms pouvant être utilisés pour effectuer la vérification de type. La plupart de ces noms sont intégrés, tels que list, dict et file.



Dernière mise à jour : Vendredi, le 13 novembre 2020