1.列举4个Python核心数据类型的名称。
答:数字、字符串、列表、字典、元组、文件和集合一般被认为是核心对象(数据)类型。类型、None和布尔型有时也被定义在这样的分类中。还有多种数字类型(整数、浮点数、复数、分数和十进制数)和多种字符串类型(Python 2.X中的一般字符串和Unicode字符串,以及Python 3.X中的文本字符串和字节字符串)。
2.为什么我们把它们称作是“核心”数据类型?
答:它们被认作是“核心”类型是因为它们是Python语言自身的一部分,并且总是有效的;为了建立其他的对象,通常必须调用被导入模块的函数。大多数核心类型都有特定的语法去生成其对象:例如,'spam'是一个创建字符串的表达式,而且决定了可以被应用的操作的集合。正是因为这一点,核心类型与Python的语法紧密地结合在一起。与之相比较,必须调用内置的open函数去创建一个文件对象。
3.“不可变性”代表了什么,哪三种Python的核心类型被认为是具有不可变性的?
答:一个具有“不可变性”的对象是一个在其创建以后不能够被改变的对象。Python中的数字、字符串和元组都属于这个分类。尽管无法就地改变一个不可变的对象,但是你总是可以通过运行一个表达式创建一个新的对象。
4.“序列”是什么意思,哪三种Python的核心类型被认为是这个分类中的?
答:一个“序列”是一个对位置进行排序的对象的集合。字符串、列表和元组是Python中所有的序列。它们共同拥有一般的序列操作,例如,索引、合并以及分片,但又各自有自己的类型特定的方法调用。
5.“映射”是什么意思,哪种Python的核心类型是映射?
答:术语“映射”,表示将键与相关值相互关联映射的对象。Python的字典是其核心类型集中唯一的映射类型。映射没有从左至右的位置顺序;它们支持通过键获取数据,并包含了类型特定的方法调用。
6.什么是“多态”,为什么我们要关心多态?
答:“多态”意味着一个操作符(如+)的意义取决于被操作的对象。这将变成使用好Python的关键思想之一(或许可以去掉之一吧):不要把代码限制在特定的类型上,使代码自动适用于多种类型。