In this recipe, we will dig deeper into the internals of NumPy arrays, by generalizing the notion of row-major and column-major orders to multidimensional arrays. The general notion is that of strides, which describe how the items of a multidimensional array are organized within a one-dimensional data buffer. Strides are mostly an implementation detail, but they can also be used in specific situations to optimize some algorithms.
We suppose that NumPy has been imported and that the aid()
function has been defined (refer to the Understanding the internals of NumPy to avoid unnecessary array copying recipe).
>>> import numpy as np >>> def aid(x): # This function returns the memory # block address of an array. return x.__array_interface__['data'][0]