NumPy 数组一般是同质的 (但有一种特殊的数组类型例外,它是异质的),即数组中的所有元素类型必须是一致的。这样有一个好处:如果我们知道数组中的元素均为同一类型,该数组所需的存储空间就很容易确定下来。NumPy 数组的下标也是从 0 开始的。
#!/usr/bin/env python
# -*- coding: utf-8 -*-
from __future__ import absolute_import
from __future__ import print_function
from __future__ import division
import os
import sys
import numpy as np
import tensorflow as tf
sys.path.append(os.path.dirname(os.path.abspath(__file__)))
current_directory = os.path.dirname(os.path.abspath(__file__))
print(16 * "++--")
print("current_directory:", current_directory)
print(16 * "++--")
# Beginning with NumPy fundamentals
# Demonstrates the dtype and shape attributes of ndarray.
# Run from the commandline with python arrayattributes.py
a = np.arange(5)
print("In: a = arange(5)")
print("In: a.dtype")
print(a.dtype)
# Out: dtype('int64')
print()
print("In: a.shape")
print(a.shape)
# Out: (5,)
print()
print("In: a")
print(a)
# Out[4]: array([0, 1, 2, 3, 4])
/usr/bin/python2.7 /home/strong/tensorflow_work/R2CNN_Faster-RCNN_Tensorflow/yongqiang.py
++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--
current_directory: /home/strong/tensorflow_work/R2CNN_Faster-RCNN_Tensorflow
++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--
In: a = arange(5)
In: a.dtype
int64
In: a.shape
(5,)
In: a
[0 1 2 3 4]
Process finished with exit code 0
strong@foreverstrong:~$ python
Python 2.7.12 (default, Nov 20 2017, 18:23:56)
[GCC 5.4.0 20160609] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import numpy as np
>>> a = np.arange(5)
>>> a.dtype
dtype('int64')
>>> a.shape
(5,)
>>> a
array([0, 1, 2, 3, 4])
>>> exit()
strong@foreverstrong:~$
这是一个包含 5 个元素的向量,取值分别为 0~4 的整数。数组的 shape 属性返回一个元组 (tuple),元组中的元素即为 NumPy 数组每一个维度上的大小。上面例子中的数组是一维的,因此元组中只有一个元素。
[1] Yongqiang Cheng, https://yongqiang.blog.csdn.net/
[2] (印尼) Ivan Idris (伊德里斯) 著, 张驭宇 译. Python数据分析基础教程:NumPy学习指南 (第2版) [M]. 北京:人民邮电出版社, 2014. 1-226