Python对象的类型就好比C++中class定义的类,类名就相当于是这儿各种对象的类型,自然,这儿的对象就相当于C++的实例。
Python对象:身份、类型、值
标准类型:数值(整型int、长整型long、布尔型bool、浮点型float、复数型complex)、序列(字符串类型str、列表类型list、元祖类型tuple)、映射(字典类型dict)
其他类型:type类型、None类型、文件、集合、函数、模块、类、迭代器类型
标准类型操作符
比较:<、 >、 <=、 >=、 ==、 !=、 <>、 is、 is not
布尔:not、 and、 or
标准类型内建函数:cmp()、 repr()、 type()、 ``
工厂函数(相当于C++中的构造函数):int(), long(), bool(), float(), complex(), str(), unicode(), basestring(), list(), tuple(), dict(), type(), set(), frozenset() ...
标准类型分类:
存储模型 - 标量类型:只能容纳单个对象,如数值、字符串类型
- 容器类型:能够容纳多个对象,如列表类型、元祖类型、字典类型
更新模型 - 可变类型:该类型对象的值可以被更新,如列表类型、字典类型
- 不可变类型:该类型对象的值不能被更新,如数值、字符串类型、元祖类型
访问模型 - 直接访问:相当于直接给出内存地址访问,如数值
- 顺序访问:该类型中的各个对象在内存上连续存储,如字符串类型、列表类型、元祖类型
- 映射访问:由键值通过散列函数得到内存地址,如字典类型
数值类型操作符:除了继承标准类型操作符外,还支持算术操作符,如单目操作符+、 -,双目操作符+、 -、 *、 /、 %、 **、 //
另外,对于整型还支持位操作符,如~、 &、 |、 ^、 <<、 >>
数值类型内建函数:除了继承标准类型内建函数外,还提供若干内建函数,如abs(), coerce(), divmod(), pow(), round()
另外,对于整型还支持更多的内建函数,如hex(), oct(), chr(), ord(), unichr()
序列类型操作符:除了继承标准类型操作符外,还支持独有的序列类型操作符,如成员关系操作符in、not in,连接操作符+,重复操作符*,切片操作符[]、[:]、[::]
另外,对于字符串类型还支持其独有的操作符,如格式化操作符%,原始字符串操作符r、R,Unicode字符串操作符u、U
序列类型内建函数:除了继承标准类型内建函数外,还提供若干内建函数,如enumerate(), len(), max(), min(), reversed(), sorted(), sum(), zip()
另外,对于字符串类型还支持其独有的内建函数,如raw_input()
映射类型操作符:除了继承标准类型操作符外,还支持独有的映射类型操作符,如键查找操作符[],键成员关系操作符in、not in
集合类型操作符:除了继承标准类型操作符外,还支持独有的集合类型操作符,如联合|,交集&,差补-,对称差分^
另外,对于可变集合还支持其独有的操作符,如|=、&=、-=、^=
再者,内建函数与各种类型的方法并不是一回事,内建函数相当于C++里面的标准单元库提供的函数,直接可以使用,而方法则是C++类中的定义的实现函数,需要对象引用才能使用,在Python里也是如此
关于迭代器,迭代器也就是迭代器类型的一个对象,通过这个对象即迭代器可以遍历一个序列,字典,文件等可迭代对象。调用enumerate()、reversed()、iter()可以得到一个可迭代对象的迭代器,通过该迭代器的方法next()便能遍历整个对象。
如有不对希望指正,不断更新中……