Я запускал следующие сценарии, которые считаются одинаковыми, но вывод совершенно другой, может кто-нибудь объяснить почему?Эквивалентные сценарии numpy, дающие разные результаты
я впервые завезены необходимые модули:
from ctypes import *
import numpy as np
code1:
AOVoltage = np.linspace(-1, 1, 2200)
AOVoltage = AOVoltage.ctypes.data_as(POINTER(c_double))
print AOVoltage.contents
c_double(1.821347161578237e-284)
Кодекса2:
a = np.linspace(-1, 1, 2200)
AOVoltage = a.ctypes.data_as(POINTER(c_double))
print AOVoltage.contents
c_double(-1.0)
Code3:
AOVoltage = (np.linspace(-1, 1, 2200)).ctypes.data_as(POINTER(c_double))
print AOVoltage.contents
c_double(1.821347161578237e-284)
Я получаю именно 'c_double (-1.0)' для каждого вашего кода. –
Это интересно. Я не могу воспроизвести его из IPython, но я могу из приглашения Python, который кажется разумным, если массив получает мусор, собранный в интерпретаторе Python, и память, используемая для хранения массива, имеет что-то еще, но IPython сохраняет ссылку на каждая линия ввода. – jorgeca