版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/mdily/article/details/53542227
一、Python对象
所有的Python对象都拥有三个特征:身份,类型。值
- 身份 :可以被认为是该对象的内存地址,使用内建函数id()来得到
- 类型 :使用type()查看
- 值 :对象表示的数据项
二、标准类型
Integer、Boolean、Long integer、Floating point real number、Complex number、String、List、Tuple、Dicionary
三、其他类型
类型、Null对象(None)、文件、集合/固定集合、函数/方法、模块、类
四、内部类型
代码对象:编译过的Python源代码片段,可执行对象。通过调用compile()可以得到代码对象,代码对象可以被exec命令或eva l()函数来执行
帧对象:表示Python的执行栈帧。可用于跟踪记录对象
跟踪记录对象:报错时的诊断信息
切片对象
省略对象:唯一的名字Ellipsis,它的值始终为True
五、标准类型操作符
对象值的比较:所有的内建类型均支持比较运算,比较操作是针对对象的值进行的,也就是说比较的是对象的数值而不是对象本身
对象身份的比较:
fool1和fool2指向相同的对象:
fool1 = fool2 = 4.3
fool1 = 4.3; fool2 = fool1
fool1和fool2指向不同的对象:
fool1 = 4.3; fool2 = 1.3 + 3.0
Python提供了is和is not操作符来测试两个变量是否指向同一个对象:a is b 等价于 id(a) == id(b)
布尔类型
六、标准类型内建函数
cmp(obj1, obj2):比较obj1和obj2, 根据比较结果返回整型i:
- i < 0 if obj1 < obj2
- i > 0 if obj1 > obj2
- i = 0 if obj1 == obj2
type(obj):接受一个对象作为参数,并返回它的类型
isinstance():
七、类型工厂函数
八、标准类型分类:
按存储模型分类:
- 标量/原子类型:数值、字符串
- 容器类型:列表、元组、字典、集合
按更新模型分类:
- 可变类型:列表、字典、集合
- 不可变类型: 数字、字符串、元组
注:列表(可变类型)的值不论怎么变,它的ID始终保持不变
按访问模型分类:
- 直接访问:数值
- 顺序访问:字符串,列表,元组
- 映射访问:字典,集合