textarea is empty

‎ويو در مقابل كپي آرايهNumPy پايتون

Previous >    <Next  

‎اختلاف مابين ويو وكپي آرايهNumPy

‎تفاوت اصلي بين كپي و ويو آرايه در پايتون اين است كه، كپي يك آرايه جديدي است و ويو نماي ‎آرايه اصلي است.

‎كپي ، مالك داده هاست وهرگونه تغيير در آن روي آرايه اصلي اثر نداشته، و همچنين تغييراب روي ‎آرايه اصلي هم در كپي بي اثراست.

‎ويو مالك داده ها نيست، وهر تغييري در آن روي آرايه اصلي اثر گذاشته وبالعكس هر تغيير در ‎آرايه اصلي روي ويو هم اثر ميگذارد.

‎كپي آرايه

‎مثال ـ ساخت يك كپي از آرايه و تغيير در اصلي ونمايش هر دو

import numpy as np
arr = np.array([1, 2, 3, 4, 5])
x = arr.copy()
arr[0] = 42

print(arr)
print(x)

--(go to editor for change code and run)

‎كپي نبايد تحت تاثير تغييرات آرايه اصلي قرار بگيرد.

‎ويوي آرايه

‎مثال ـ ايجاد ويوئي از آرايه و تغيير در آرايه اصلي

import numpy as np

arr = np.array([1, 2, 3, 4, 5])
x = arr.view()
arr[0] = 42

print(arr)
print(x)

--(go to editor for change code and run)

‎ويوي آرايه بايد تحت تاثير تغييرات آرايه اصلي باشد.

‎ايجاد تغييرات در ويوي آرايه

‎مثال ـ ايجاد ويوئي از آرايه و تغيير در ويو و نمايش هر دو

import numpy as np

arr = np.array([1, 2, 3, 4, 5])
x = arr.view()
x[0] = 31

print(arr)
print(x)

--(go to editor for change code and run)

‎آرايه اصلي بايستي تحت تاثير تغييرات ويوي خود باشد.

‎بررسي مالكيت داده اي آرايه

‎در مطالب قبلي پادآوري شد ، كه كپي آرايه داراي مالكيت داده اي است واما ويوي آرايه نه .حال ‎ميخواهيم مالكيت داده اي را براي آرايه بررسي كنيم.

‎هر آرايهNumPy داراي ويژگي‎base‎ ميباشد، درصورتيكه آرايه مالك داده اش ‎باشد‎None‎ برگشت ويژگي آن است .در غير اينصورت برگشتي به شئ آرايه اصلي ‎ارجاع دارد.

‎مثال ـ چاپ مقدارويژگي‎base‎ براي بررسي مالكيت داده اي

import numpy as np

arr = np.array([1, 2, 3, 4, 5])

x = arr.copy()
y = arr.view()

print(x.base)
print(y.base)

--(go to editor for change code and run)

‎ويژگيcopy داراي برگشتي None

‎ويوي آرايه برگشتي آن ارجاع به آرايه اصلي دارد


Previous >    <Next