1 python对象分类
所有的Python对象都拥有三个特性:身份,类型和值
身份: 每一个对象都有一个唯一的身份标识自己。任何对象的身份可以使用内建函数id()来得到。这个值可以被认为是该对象的内存地址
类型: 对象的类型决定了对象可以保存什么类型的值,可以进行什么样的操作,以及遵循什么样的规则。你可以内建type()查看对象的类型
值:对象表示的数据项
对象属性:某些对象有属性、值或相关联的执行代码。python用句点(.)标记法来访问属性。属性包括相应对象的名字。最常用的属性是函数和方法
2 对象类型
标准类型(Numeric, Sequence, Mapping)
数字(分为几个子类型,其中二个是整形)
Interger 整型
Long integer 长整型
Boolean 布尔类型
Float point real number 浮点型
Complex number 复数型
String 字符串
List 列表
Tuple 元组
Dictionary 字典
其他类型对象(Internal, ...)
类型
Null 对象(None)
文件
可变/不可 集合
函数/方法
模块
类
类型对象和type类型对象(Fundamental, ...)
对象的一系列固有行为和特性都是事先定义好,从这个角度来说,类型正是保存这些信息的最佳位置。描述一种类型所需要的信息不可以用一个字符串来搞定,所以类型不能是一个简单的字符串,也不能和数据保存在一起,所以用将类型定义成一个对象是最好的选择。
类型对象和type类型对象
对象的一系列固有行为和特性都是事先定义好,从这个角度来说,类型正是保存这些信息的最佳位置。描述一种类型所需要的信息不可以用一个字符串来搞定,所以类型不能是一个简单的字符串,也不能和数据保存在一起,所以用将类型定义成一个对象是最好的选择。
>>> type(2)
>>>type(int)
>>> type(type(1))
通过调用type()函数,能够得到特定对象的类型信息。从上述代码中我们可以知道,所有类型对象的类型都是type,它是所有python类型的根和所有python标准类型的默认元类(metaclass).
所有标准对象均可用于布尔测试,同类型的对象之间可以比较大小,每个对象天生具有True值或False值,空对象,值为0的任何数字或者Null对象None的布尔值都是False。下列对对象的布尔值是False:
None
False(布尔类型)
所有的值为零的数
0(整型)
0.0 (浮点型)
0L (长整型)
0.0+0.0j (复数)
''空字符串
[] 空列表
{} 空字典
() 空元组
值不是上面列出来的任何值的对象的布尔值都是True
3 python对象特征
数字(整数,浮点数,二进制,分数等)
支持加法和乘法等
序列(字符串,列表,元组)
支持索引,分片和合并
映射(字典)
支持通过键的索引等
对象的类型告诉Python去执行什么样的任务。
集合是自成一体的一个分类(不会把键值映射到值,也没有逐位的排序顺序)。
1.不可变类型(数字,字符串,元组,不可变集合):不支持原处修改
2.可变类型(列表,字典,可变集合):可以通过操作原处修改,而不用创建新的对象
一般来说,不可变类型具有某种完整性,保证这个对象不会被程序的其他部分改变。
参考: