Jul 03, 2024

Wiki

Python

Aide

edit SideBar

Search

Attributs Et Types


Attributs d'un conteneur

Prenons un exemple avec un tableau (ce qui suit reste valable pour les matrices) :

  >>> from numpy import *
  >>> a = arange(10).reshape(2,5)
  >>> a
  array([[0, 1, 2, 3, 4],
       [5, 6, 7, 8, 9]])

Les objets array et matrix ont un certain nombre d'attributs élémentaires :

shape
la taille du tableau.
  >>> a.shape
  (2, 5)
ndim
le nombre de dimensions du tableau (la longueur du l'uplet a.shape)
  >>> a.ndim
  2
size
le nombre d'éléments (produit des éléments de a.shape).
  >>> a.size
  10
dtype.name
le type des éléments du tableau.
  >>> a.dtype.name
  'int32'
itemsize
le nombre de bits qu'occupe chaque élément du tableau
  >>> a.itemsize
  4

Type d'un conteneur

Ce qui suit reste valable en remplaçant array par matrix.

Notion de type

Un array est constitué d'éléments d'un seul et même type. Ainsi

  >>> array([1, 2.0, -3j])

engendre un array de trois complexes :

  >>> print array([1, 2.0, -3j]).dtype.name
  complex128

Les types possibles

Les différents types possibles sont : Character, UnsignedInt8, Int, Int0, Int8, Int16, Int32, Int64, Int128, Float, Float0, Float8, Float16, Float32, Float64, Float128, Complex, Complex0, Complex8, Complex16, Complex32, Complex64, Complex128.

Les nombres non nuls qui suivent éventuellement les types correspondent au nombre de "mots" autorisés pour lesdits types.

  • Quand c'est un 0, cela signifie que l'on prend la plus petite définition du type offerte sur la plateforme utilisée.
  • Quand il n'y a pas de chiffre, cela correspond au type de base de Python.

Forcer un type

Si on souhaite forcer le type de la matrice :

  >>> print array([1,2,3], Float)
  [1. 2. 3.]

On peut enfin constituer des matrices de type PyObject : objet quelconque en Python. On peut ainsi mélanger les types.

Changer de type

On peut passer d'un type à un autre avec la méthode astype :

  >>> aa=matrix(([0,1],[1,3]))
  >>> print aa.dtype.name
  int32

  >>> bb=aa.astype('float')
  >>> print aa.dtype.name, bb.dtype.name
  int32 float64

Page Actions

Recent Changes

Group & Page

Back Links