Не могу понять как это работает
L = numpy.array([1, 2, 3])
def add_val(L, a):
L = L + a
print('Local L:', L)
add_val(L, 2)
print('Global L:', L)
Local L: [3 4 5]
Global L: [1 2 3]
L = numpy.array([1, 2, 3])
def add_val(L, a):
L += a
print('Local L:', L)
add_val(L, 2)
print('Global L:', L)
Local L: [3 4 5]
Global L: [3 4 5]
L = numpy.array([1, 2, 3])
def add_val(L, a):
L = L[:]
L += a
print('Local L:', L)
add_val(L, 2)
print('Global L:', L)
Local L: [3 4 5]
Global L: [3 4 5]
Почему первый и второй случай так различаются? Что происходит в третьем случае? Почему не копируется массив?