Ce module définit un nouveau type d'objet qui peut représenter efficacement un tableau de valeurs basiques: caractères, entiers, nombres à virgule flottante. Les tableaux sont des types séquence et se comportent à beaucoup d'égards comme des listes, sauf que le type d'objets stockés est contraint. Ce type est spécifié au moment de la création de l'objet en utilisant un code de type, qui est constitué d'un caractère unique. Les codes de type suivants sont définis:
| Code de type | Type C | Taille minimum en octets |
|---|---|---|
'c' | caractère | 1 |
'b' | entier signé | 1 |
'B' | entier non signé | 1 |
'h' | entier signé | 2 |
'H' | entier non signé | 2 |
'i' | entier signé | 2 |
'I' | entier non signé | 2 |
'l' | entier signé | 4 |
'L' | entier non signé | 4 |
'f' | flottant | 4 |
'd' | double | 8 |
La représentation effective des valeurs est déterminée par l'architecture
de la machine (au sens strict, par l'implémentation du C). On peut accéder
à la taille effective à travers l'attribut itemsize. Les
valeurs stockées dans les éléments 'L' et 'I' seront représentés
comme des entiers longs Python quand on les extrait, parce le type entier
simple de Python ne peut pas représenter l'étendue complète des entiers non
signés (longs) du C.
Le module définit les fonction et objet type suivants:
Les objets Array supportent les éléments de données et les méthodes suivants:
(adresse, longueur) qui donne
l'adresse mémoire courante et la longueur en octets du tampon utilisé
pour conserver le contenu du tableau. Ceci peut s'avérer utile quand on
travaille avec des interfaces d'entrée-sortie de bas niveau (intrinsèquement
peu sûres) qui nécessitent des adresses mémoire, telles que certaines
opérations ioctl(). Les nombres retournés sont valides tant
que le tableau existe et qu'aucune opération ayant pour effet de changer
la longueur ne lui est appliquée
-1, de façon que par défaut
c'est le dernier élément qui est enlevé et retourné.
Déconseillé depuis la version 1.5.1 Utiliser la méthode fromfile(). Lit n éléments (valeurs machine) depuis l'objet fichier f et les ajoute à la fin du tableau. Si moins de n éléments sont disponibles, EOFError est déclenchée, mais les éléments qui étaient disponibles sont toutefois insérés dans le tableau. f doit être un objet du type intégré fichier; avec quelque chose d'autre une méthode read() ne donnera rien.
Déconseillé depuis la version 1.5.1 Utiliser la méthode tofile(). Ecrit tous les éléments (valeurs machine) dans l'objet fichier f.
Quand un objet tableau est imprimé ou converti en chaîne de
caractères, il est représenté comme
array(codetype, initialiseur). La variable
initialiseur est omise si le tableau est vide, sinon c'est une
chaîne de caractères si le codetype est 'c', sinon c'est une
liste de nombres. La chaîne de caractères pourra être de nouveau
convertie en un tableau du même type et avec les mêmes valeurs en
utilisant des guillemets inversés (``), dans la mesure où la
fonction array() a été importée en utilisant
"from array import array". Exemples:
array('l')
array('c', 'hello world')
array('l', [1, 2, 3, 4, 5])
array('d', [1.0, 2.0, 3.14])
Voir aussi: