The slice in numpy does not copy the data structure

examples/numpy/slice_1d.py
from __future__  import print_function
import numpy

a = numpy.array([1, 1, 2, 3, 5, 8, 13, 21, 34])
print(a)       # [ 1 1 2 3 5 8 13 21 34]

b = a[2:5]
print(b)  # [2 3 5]

a[2] = 20
print(a)       # [ 1 1 20 3 5 8 13 21 34]
print(b)       # [20 3 5]
examples/numpy/slice_copy.py
from __future__  import print_function
import numpy

a = numpy.array([1, 1, 2, 3, 5, 8, 13, 21, 34])
print(a)       # [ 1 1 2 3 5 8 13 21 34]

b = a[2:5].copy()
print(b)  # [2 3 5]

a[2] = 20
print(a)       # [ 1 1 20 3 5 8 13 21 34]
print(b)       # [2 3 5]