При вызове numpy .array двумя следующими способами:
>>> np.array((1,2,3,4)) array([1, 2, 3, 4]) >>> np.array([1,2,3,4]) array([1, 2, 3, 4])
Я заметил, что он возвращает два, казалось бы, идентичных ndarrays. Оба эти ndarrays идентичны? Почему?
Мы можем вести себя здесь в целом. Предположим, мы не знаем, что такое X = np.array([1,2,3,4]) и Y = np.array((1,2,3,4)). Если мы распечатаем его, мы увидим вывод, который является результатом секретных встроенных методов X.__repr__ и Y.__repr__. Здесь вы можете убедиться, что и X, и Y имеют одинаковые представления. Это не означает, однако, что они одинаковы, потому что они могут быть экземплярами разных классов с одинаковыми представлениями. Чтобы убедиться в этом, я обычно использую X.__class__ и Y.__class__. Таким образом, X и Y являются экземплярами одного класса np.ndarray.
X = np.array([1,2,3,4])
Y = np.array((1,2,3,4))
X.__repr__
Y.__repr__
X
Y
X.__class__
Y.__class__
np.ndarray