मैं पीईपी 3118 के खराब कार्यान्वयन के आसपास अपने सिर को लपेटने की कोशिश कर रहा हूं। संख्या में बफर का उपयोग वास्तव में कैसे काम करता है।numpy.getbuffer और numpy.frombuffer
>>> p = numpy.getbuffer(numpy.arange(10))
>>> p
<read-write buffer for 0x1003e5b10, size -1, offset 0 at 0x1016ab4b0>
>>> numpy.frombuffer(p)
array([ 0.00000000e+000, 4.94065646e-324, 9.88131292e-324,
1.48219694e-323, 1.97626258e-323, 2.47032823e-323,
2.96439388e-323, 3.45845952e-323, 3.95252517e-323,
4.44659081e-323])
तो मुझे अप्रत्याशित रिटर्न मिल रहा है। मैं 0-9 से 10 तत्वों के साथ एक सरणी देखने की उम्मीद करता हूं। मैं सरणी में जा सकता हूं और पढ़/लिख सकता हूं।
>>> j = numpy.frombuffer(p)
>>> j
array([ 0.00000000e+000, 4.94065646e-324, 9.88131292e-324,
1.48219694e-323, 1.97626258e-323, 2.47032823e-323,
2.96439388e-323, 3.45845952e-323, 3.95252517e-323,
4.44659081e-323])
>>> j += 1
>>> j
array([ 1., 1., 1., 1., 1., 1., 1., 1., 1., 1.])
तो ऐसा लगता है कि बफर सभी शून्यों को प्रारंभ कर रहा है, जिसे मैं लिख सकता हूं। मैं जिस कार्यक्षमता की अपेक्षा कर रहा हूं वह है गेटबफर के साथ सीधे बफर पर सरणी (आंगन या आश्रय के साथ) बनाने में सक्षम होना। क्या यह संभव नहीं है?
पियरे के जवाब में कितना अद्भुत परिशिष्ट।अतिरिक्त विवरण की सराहना की जाती है। – Jzl5325