仔细思考过后,察觉到,其实学习者并不缺乏学习资料,而更缺乏课后习题。就像我们学生时代那样,需要通过大量的课后习题来巩固所学到的知识。所以该系列我打算更新成一个习题集。
1.列举四个python中核心数据类型的名称
2.为什么我们把他们称作‘核心类型’?
3.‘不可变性’代表了什么,哪些python核心类型被认为是具有不可变性
4.‘序列’是什么意思,哪些python核心类型被认为是这个分类中的?
5.‘映射’是什么意思,哪种python的核心类型是映射
6.什么是‘多态’,为什么我们要关心多态
------------------------------------------------------------------------------------
课后答案:
1.数字、字符串、列表、字典、元组、文件和集合一般被认为是核心对象(数据)类型,类型,none和布尔型有时也被归位这一分类中。
2.被认作是“核心”类型是因为它们是python语言自身的一部分,并且总是有效的;为了建立其他的对象,通常必须调用被导入模块的函数。大多数核心类型都有特定的语法创建其对象:例如,'spam”是一个创建字符串的表达式,而且决定了可以被应用的操作的集合。正是因为这一点,核心类型与Python的语法紧密地结合在一起。与之相比较,必须调用内置的open函数去创建一个文件对象(尽管它通常也被认为是一种核心类型)。
3.一个具有“不可变性”的对象是一个在其创建以后不能够被改变的对象。Python中的数字、字符串和元组都属于这个分类。尽管无法原位置改变一个不可变的对象,但你总是可以通过运行一个表达式创建一个新的对象。在Python新版本中,字节串数组为文本提供了可变性,不过它们并非普通的字符串,而且仅仅支持8位编码的文本文件(如ASCII) .
4.一个“序列”是系列具有位置顺序的对象的集合体。字符串、列表和元组是Python中所有的序列。它们共同拥有一般的序列操作,例如索引、合并和分片,但又各自有自己的类型特定的方法调用。一个相关的术语“可迭代性”,意味着任何一个能够按需提供它的内容的物理或虚拟序列。
5.术语“映射”,表示将键与相关值相互关联映射的对象。Python的字典是其核心类型集中唯一的映射类型。映射没有从左至右的位置顺序;它们支持通过键获取数据,并包含了类型特定的方法调用。
6.“多态”意味着一个运算符(如+)的意义取决于被操作的对象。这是让你用好Python的关键思想之一(或许可以去掉之一吧):不要把代码限制在特定的类型上,使代码自动适用于多种类型。