为了丰富学员们的课外知识,老师让我们助理分享这套Python系列教程。由于Python教程并非老师所写,所以不如老师的AI教学风趣幽默,望大家见谅!想要学习AI技术的新朋友可以去www.captainbed.net。本公众号由助理负责运营,只免费分享课外知识,不回复任何私信。


表4-1是Python的内置对象类型和一些能够生成这些对象的表达式。如果你使用过其他语言,其中的一些类型也许对你来说很熟悉。

表4-1:内置对象

数字——1234

字符串——'spam'

列表——[1,3,9]

字典——{'food':'spam','taste':'yum'}

元组——(1,'u',6)

文件——myfile=open('eggs','r')

集合——set('abc'),{'a','b','c'}

其它类型——none,布尔类型

编程单元类型——函数,模块,类

与实现相关的类型——编译的代码堆栈跟踪

表4-1所列内容并不完整,因为在Python程序中处理的每样东西都是一种对象。例如,在Python中进行文本模式匹配时,创建了模式对象,还有进行网络脚本编程时,使用了套接字对象。其他类型的对象往往都是通过导入或使用模块来建立的,而且它们都有各自的行为。

像函数、模块和类这样的编程单元在Python中也是对象,它们由def、class、import和lambda这样的语句和表达式创建,并且可以在脚本间自由地传递,存储在其他对象中等。Python还提供了一组与实现相关的类型,例如编译过的代码对象,它们通常更多地关系到工具生成器而不是应用程序开发者;

我们通常把表4-1中的对象类型称作是核心数据类型,因为它们是在Python语言内部高效创建的,也就是说,有一些特定语法可以生成它们。例如,运行下面的代码:

.>>> 'spam'

从技术上讲,你正在运行一个常量表达式,这个表达式生成并返回一个新的字符串对象。这是Python用来生成这个对象的一个特定语法。类似地,一个方括号中的表达式会生成一个列表,大括号中的表达式会建立一个字典等。尽管这样,就像我们看到的那样,Python中没有类型声明,运行的表达式的语法决定了创建和使用的对象的类型。

一旦创建了一个对象,它就和操作集合绑定了——只可以对字符串进行字符串相关的操作,对列表进行列表相关的操作。就像你将会学到的,Python是动态类型的(它自动地跟踪你的类型而不是要求声明代码),但是它也是强类型语言(你只能对一个对象进行适合该类型的有效的操作)。

在功能上,表4-1中的对象类型可能比你习惯的C语言类型更常用,也更强大。例如,你会发现列表和字典就是强大的数据表现工具,省略了在使用C等底层语言的过程中为了支持集合和搜索而引入的绝大部分工作。简而言之,列表提供了其他对象的有序集合,而字典是通过键存储对象的。列表和字典都可以嵌套,可以随需求扩展和删减,并能够包含任意类型的对象。

我们将会在后续学习表4-1中的每一种对象类型。