您的位置:首页 > 编程语言 > Python开发

《Python核心编程》(第二版) 第4章 Python对象

2017-03-16 23:00 267 查看
第4章 Python对象

看完第4章,发现最后访问模型为标准的类型分类直接引出了本书的第5章、第6章和第7章。

4.1 Python对象

(1)Python对象的三个特性:身份、类型和值。

4.2 标准类型

本书中的标准类型也被称为“基本数据类型”。具体类型如下:

(1)数字(分为几个子类型,其中三个是整型)

(2)Integer 整型

(3)Boolean 布尔型

(4)Long integer 长整型

(5)Floating point real number 浮点型

(6)Complex number 复数型

(7)String 字符串

(8)List 列表

(9)Tuple 元组

(10)Dictionary 字典

4.3 其他内建类型

(1)类型:type()函数可查询任意对象的类型。类就是类型,实例是对应类型的对象。

(2)Null对象(None),Null对象只有一个值:None,其布尔值为False。

(3)文件

(4)集合/固定集合

(5)函数/方法

(6)模块

(7)类

4.4 内部类型

4.4.1 代码对象(第14章细讲)

4.4.2 帧对象

4.4.3 跟踪记录对象

当异常发生时,一个包含针对异常的栈跟踪信息的跟踪记录对象被创建。

4.4.4 切片对象

(1)多维切片:sequence[ start1 : end1, start2 : end2]

(2)步进切片:sequence[ start : end: step]

4.4.5 省略对象

4.4.6 XRange对象(第8章细讲)

4.5 标准类型操作符

4.5.1 对象值的比较:比较操作符

4.5.2 对象身份比较

(1)a is b:a和b是同一个对象。

(2)a is not b:a和b不是同一个对象。

(3)两个变量被同一个整型赋值:a is b为True,这是由于整型和字符串是不可变对象,所以Python会很高效地缓存它们,这会造成在应该创建新对象时却没有创建的假象。

4.5.3 布尔类型

(1)布尔逻辑操作符:and、or和not。

4.6 标准类型内建函数

4.6.1 type()

(1)type()接受一个对象作为参数,并返回它的类型。它的返回值是一个类型对象。

4.6.2 cmp()

(1)内建函数cmp()用于比较两个对象a和b,如果a>b,则返回1,如果a<b,则返回-1,如果a==b,则返回0。(书中正负整型的提法有误)。

4.6.3 str()和repr()以及反引号(‘’)操作符

(1)str()和repr()或反引号操作符(‘’)可以方便地以字符串的方式获取对象的内容、类型、数值属性等信息。

(2)str()致力于生成对象可读性好的字符串表示,返回结果无法用于eval()求值。

(3)repr()和‘’均能返回对象的官方字符串表示。(不鼓励使用‘’)

4.6.4 type()和isinstance()

(1)type()

(2)isinstance()(第13章细讲)

4.6.5 Python类型操作符和内建函数总结

(1)字符串、内建函数、值比较、对象比较、布尔操作符

4.7 类型工厂函数

(1)case as follow:int()、long()、bool()...

4.8 标准类型的分类

(1)标准类型定义:“基本内建数据对象原始类型”。

4.8.1 存储模型

依据这种类型的对象能保存的对象个数分类。

(1)一个能保存单个字面对象的类型,称为原子或标量存储。对应的Python类型为:数值(所有的数值类型),字符串(全部是文字)。

(2)那些可容纳多个对象的类型,称为容器存储。对应的Python类型为:列表、元组、字典。

4.8.2 更新模型

依据对象创建成功后,值是否可以更新进行分类。

(1)值可以更新的被称为可变类型。对应的Python类型为:列表、字典。

(2)值不可以更新的被称为不可变类型。对应的Python类型为:数字、字符串、元组。

4.8.3 访问模型

依据访问数据的方式对数据进行分类。以下对应本书第5、6、7章。

(1)直接存取:对非容器类型可以直接访问,所有的数值类型都归为此类。对应Python类型为:数字。

(2)顺序:序列类型是指容器内的元素按从0开始的索引顺序进行访问。对应Python类型为:字符串、列表、元组。

(3)映射:映射类型的元素无序存放,通过唯一的键来访问,容纳的是哈希:键-值的集合。对应Python类型为:字典。

4.9 不支持的类型

(1)char或byte

(2)指针

(3)int vs short vs long

(4)float vs double

4.10 练习
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐