NumPy ਸਾਰੇ ਦੀ ਪ੍ਰਤੀਲਿਪੀ vs ਦਰਸ਼ਨ
- ਪਿਛਲਾ ਪੰਨਾ نمپی ڈاٹا ٹائپ
- ਅਗਲਾ ਪੰਨਾ نمپی آرری شپ
ਪ੍ਰਤੀਲਿਪੀ ਅਤੇ ਦਰਸ਼ਨ ਦਰਮਿਆਨ ਅੰਤਰ
ਪ੍ਰਤੀਲਿਪੀ ਅਤੇ ਸਾਰੇ ਦਰਸ਼ਨ ਦਰਮਿਆਨ ਮੁੱਖ ਅੰਤਰ ਇਹ ਹੈ ਕਿ ਪ੍ਰਤੀਲਿਪੀ ਇੱਕ ਨਵਾਂ ਸਾਰਾ ਹੈ, ਅਤੇ ਇਹ ਦਰਸ਼ਨ ਮੂਲ ਸਾਰੇ ਦਾ ਦਰਸ਼ਨ ਹੈ。
ਪ੍ਰਤੀਲਿਪੀ ਵਿੱਚ ਡਾਟਾ ਹੈ, ਪ੍ਰਤੀਲਿਪੀ 'ਤੇ ਕੀਤੇ ਗਏ ਕੋਈ ਵੀ ਬਦਲਾਅ ਮੂਲ ਸਾਰੇ ਨੂੰ ਪ੍ਰਭਾਵਿਤ ਨਹੀਂ ਕਰਦਾ ਅਤੇ ਮੂਲ ਸਾਰੇ 'ਤੇ ਕੀਤੇ ਗਏ ਕੋਈ ਵੀ ਬਦਲਾਅ ਪ੍ਰਤੀਲਿਪੀ ਨੂੰ ਪ੍ਰਭਾਵਿਤ ਨਹੀਂ ਕਰਦਾ。
视图不拥有数据,对视图所做的任何更改都会影响原始数组,而对原始数组所做的任何更改都会影响视图。
ਕਾਪੀ ਵਿੱਚ:
ਇੰਸਟੈਂਸ
ਕਾਪੀ ਕਰੋ, ਮੂਲ ਬੇਸਟਰੀਂਜ਼ ਵਿੱਚ ਬਦਲਾਵ ਕਰੋ ਅਤੇ ਦੋਵੇਂ ਬੇਸਟਰੀਂਜ਼ ਨੂੰ ਪ੍ਰਿੰਟ ਕਰੋ:
import numpy as np arr = np.array([1, 2, 3, 4, 5]) x = arr.copy() arr[0] = 61 print(arr) print(x)
ਕਾਪੀ ਵਿੱਚ ਬਦਲਾਵ ਕਰਨ ਵਾਲੇ ਮੂਲ ਬੇਸਟਰੀਂਜ਼ ਦੇ ਪ੍ਰਭਾਵ ਦਾ ਪ੍ਰਭਾਵ ਨਹੀਂ ਪਾਵੇਗਾ
ਵਿਅਕਤੀਗਤ ਵਿੱਚ:
ਇੰਸਟੈਂਸ
ਵਿਅਕਤੀਗਤ ਵਿੱਚ ਬਦਲਾਵ ਕਰੋ, ਮੂਲ ਬੇਸਟਰੀਂਜ਼ ਵਿੱਚ ਬਦਲਾਵ ਕਰੋ ਅਤੇ ਦੋਵੇਂ ਬੇਸਟਰੀਂਜ਼ ਨੂੰ ਪ੍ਰਿੰਟ ਕਰੋ:
import numpy as np arr = np.array([1, 2, 3, 4, 5]) x = arr.view() arr[0] = 61 print(arr) print(x)
ਵਿਅਕਤੀਗਤ ਵਿੱਚ ਬਦਲਾਵ ਕਰਨ ਵਾਲੇ ਮੂਲ ਬੇਸਟਰੀਂਜ਼ ਦੇ ਪ੍ਰਭਾਵ ਦਾ ਪ੍ਰਭਾਵ ਪਾਵੇਗਾ
ਵਿਅਕਤੀਗਤ ਵਿੱਚ ਬਦਲਾਵ ਕਰੋ:
ਇੰਸਟੈਂਸ
ਵਿਅਕਤੀਗਤ ਵਿੱਚ ਬਦਲਾਵ ਕਰੋ, ਵਿਅਕਤੀਗਤ ਬੇਸਟਰੀਂਜ਼ ਵਿੱਚ ਬਦਲਾਵ ਕਰੋ ਅਤੇ ਦੋਵੇਂ ਬੇਸਟਰੀਂਜ਼ ਨੂੰ ਪ੍ਰਿੰਟ ਕਰੋ:
import numpy as np arr = np.array([1, 2, 3, 4, 5]) x = arr.view() x[0] = 31 print(arr) print(x)
ਮੂਲ ਬੇਸਟਰੀਂਜ਼ ਦੇ ਮੂਲ ਵਿੱਚ ਕੀਤੇ ਗਏ ਬਦਲਾਵਾਂ ਦੇ ਪ੍ਰਭਾਵ ਦਾ ਪ੍ਰਭਾਵ ਪਾਵੇਗਾ
ਬੇਸਟਰੀਂਜ਼ ਸਮਾਚਾਰ ਰੱਖਦੇ ਹਨ ਕਿ ਚੈੱਕ ਕਰੋ
ਜਿਵੇਂ ਕਿ ਉੱਪਰ ਦੱਸਿਆ ਗਿਆ ਹੈ, ਕਾਪੀ ਸਮਾਚਾਰ ਰੱਖਦੇ ਹਨ ਅਤੇ ਵਿਅਕਤੀਗਤ ਸਮਾਚਾਰ ਨਹੀਂ ਰੱਖਦੇ ਹਨ, ਪਰ ਅਸੀਂ ਕਿਵੇਂ ਚੈੱਕ ਕਰਾਂਗੇ?
ਹਰ ਨਮਬਰ ਪ੍ਰਤੀਯੋਗਿਤਾ ਵਿੱਚ ਇੱਕ ਪ੍ਰਤੀਯੋਗਿਤਾ ਪ੍ਰਤੀਯੋਗਿਤਾ ਹੈ 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)
ਕਾਪੀ ਵਾਪਸ None
。
ਦਿਸ਼ਾ ਵਾਪਸ ਮੂਲ ਪੈਕਟ ਕਰੋ
- ਪਿਛਲਾ ਪੰਨਾ نمپی ڈاٹا ٹائپ
- ਅਗਲਾ ਪੰਨਾ نمپی آرری شپ