In [1]:
import numpy as np

In [2]:
a = np.arange(6)
print(a)


[0 1 2 3 4 5]

In [3]:
a_reshape = a.reshape(2, 3)
print(a_reshape)


[[0 1 2]
 [3 4 5]]

In [4]:
print(np.shares_memory(a, a_reshape))


True

In [5]:
a_slice = a[2:5]
print(a_slice)


[2 3 4]

In [6]:
print(np.shares_memory(a_reshape, a_slice))


True

In [7]:
a_reshape_copy = a.reshape(2, 3).copy()
print(a_reshape_copy)


[[0 1 2]
 [3 4 5]]

In [8]:
print(np.shares_memory(a, a_reshape_copy))


False