第四章 Python对象
一、python对象的三个特性:
身份:可用id()函数查看,可以被认为是该对象的内存地址
类型:可用type()函数查看
值
二、标准类型
数字 整型 布尔 长整型 浮点型 复数型 字符串 列表 元组 字典
三、其他内建类型
类型(Type) Null对象(None) 文件 集合 函数(方法) 模块 类
1 类型对象
把类型本身当成对象!
使用type()返回对象的类型信息,该函数返回的即是一个类型对象!
所有类型对象的类型都是type,可这样实验:type(type(42))
2 Null对象
Null对象只有一个值,即None
四、内部类型
包括:代码 帧 跟踪记录 切片 省略 Xrange
一般程序不会直接与其接触
五、标准类型运算符
1 对象值的比较
容易理解,不赘述
2 对象身份的比较
a is b 等价于 id(a) == id(b)
a is not b
六、标准类型内建函数
1 type()
返回值是一个类型对象
2 cmp()
比较两个对象的值,行为类似于strcmp()函数
3 str()、repr()、''运算符
该三个函数以字符串的方式获取对象的信息
str()和''相似,返回的是一个对象的“官方”字符串表示,返回的是一个对象的“官方”字符串表示:
obj == eval( repr(obj) )
''已经不鼓励使用了
4 type()和isinstance()
if isinstance(num, (int, long, float, complex)):
……
七、类型工厂函数
Python 2.2 统一了类型和类, 所有的内建类型也都是类, 在这基础上, 原来的所谓内建转换函数象 int(), type(), list() 等等, 现在都成了工厂函数:
下面这些大家熟悉的工厂函数在老的 Python 版里被称为内建函数:
int(), long(), float(), complex()
str(), unicode(), basestring()
list(), tuple()
type()
支持新风格的类的全新的数据类型,也添加了相应的工厂函数:
dict()
bool()
set(), frozenset()
object()
classmethod()
staticmethod()
super()
property()
file()
八、标准类型的分类
在此不讲了,都是些空洞的东西
九、不支持的类型
char或byte
指针
double