1、from foo import bar
从foo中import bar,如果bar是一个数组,那么接下来你就可以在你当前程序中直接使用名为bar的这个数组。
2、import bar as foo
导入bar,并重新起名为foo
3、继承
继承意味着导入父类的所有成员。除了继承所有父类特性外,我们还可以自己重新定义父类里的变量、函数等,包括__init__。
3、self
self并不是python的关键词,只是大家都这么用而已。它是在类的定义里代指对象本身。有人如下描述:
“假设我们创建了一个类MyClass,实例化MyClass得到了MyObject这个对象,然后调用这个对象的方法MyObject.method(arg1,arg2) ,这个过程中,Python会自动转为Myclass.mehod(MyObject,arg1,arg2)”
4、__init__
很多人讲__init__类似于C#里面的Constructor,唔,后来看到这段代码:
a=object.__new__(A) A.__init__(a,'hello')
这个,貌似没什么悬念了。__init__就只是init而已。
5、多维数组
标准安装的Python中用列表(list)保存一组值,可以用来当作数组使用,不过由于列表的元素可以是任何对象,因此列表中所保存的是对象的指 针。这样为了保存一个简单的[1,2,3],需要有3个指针和三个整数对象。对于数值运算来说这种结构显然比较浪费内存和CPU计算时间。
此外Python还提供了一个array模块,array对象和列表不同,它直接保存数值,和C语言的一维数组比较类似。但是由于它不支持多维,也没有各种运算函数,因此也不适合做数值运算。
NumPy的诞生弥补了这些不足,NumPy提供了两种基本的对象:ndarray(N-dimensional array object)和 ufunc(universal function object)。ndarray(下文统一称之为数组)是存储单一数据类型的多维数组,而ufunc则是能够对数组进行处理的函数。