Python大学实用教程
Contents
Python大学实用教程#
简介#
本书面向零基础起点的学习者,以面向对象开发思想为核心,讲授Python语言的基本语法及其应用。全书共9章,包括编程语言的基础知识、Python开发环境的配置、Python内置对象类型、基本运算和语句、函数、类、模块和包、异常处理、读写文件。通过这些内容的学习,读者能够掌握Python的基础知识,并在学习过程中通过实例学习如何运用基础知识。
本书每章都配有矢量的习题,习题以编程实践为导向,学习者通过练习能够加深对基础知识的理解,并且初步体会到编程实践对大数据知识和能力的要求。
购买#
各大电商平台有售
电子工业出版社天猫旗舰店
在线资源#
源码和 PPT#
以下代码仓库中包括本书的所有源码、习题答案以及供教学参考的PPT
https://github.com/qiwsir/PythonCourse
如果上述仓库不能访问,也可以通过如下方式下载同样内容。
链接: https://pan.baidu.com/s/149sTH9kS0QY6ZMv1KBVsqA 提取码: kjoq
辅助文章#
在我的微信公众号【老齐教室】上发布了很多关于Python编程语言的文章,供参考。
请阅读:Python编程文章汇总
视频课程#
与本书相关的视频课程(注意:本视频课程不是本书标配,仅向读者推荐选用)
勘误与修订#
相关术语说明:
正文:不包含代码部分的文字内容
正数:即从页面顶部开始向下计数
倒数:即从页面底部开始向上计数
原文:即原来的叙述。如果针对原来内容有修改,则用删除符号(删除符号)标示。
修订:即相应内容修改之后的最终效果
说明:对所修改内容的说明
版次:2019年3月第1版#
印次:2019年3月第1次印刷
页码:001
行数:正文,正数第2行
原文:~~当然,~~现在本星球上的编程语言比较多,
修订:现在本星球上的编程语言比较多,
说明:删除原文中的“当然”
页码:001
行数:正文,正数第3行
原文:本章将简要介绍一些相关的基本知识,并最终确定本书要学习的语言Python。
修订:编程语言的发展遵循着一定规律,其结构也符合特定的规章。本章将在对编程语言一般地简要理解基础上,最终确定本书要学习的语言Python。
说明:将“本章将简要……知识,并”删除,并用指定内容替换。
页码:014
行数:正文,正数第3行
原文:特别推荐使用Ubuntu操作系统。
修订:特别推荐Ubuntu操作系统。
说明:删除“使用”二字。
页码:016
行数:正文,倒数第8行
原文:读者可以通过修改软连接,……,关键词就是“Ubuntu 修改软连接”
修订:读者可以通过修改软链接,……,关键词就是“Ubuntu 修改软链接”
说明:“连接”修改为“链接”。
页码:016
行数:正文,倒数第4行
原文:出现图2-2-4所示的界面。
修订:出现图2-2-5所示的界面。
说明:“图2-2-4”修改为“图2-2-5”
页码:017
行数:正文,倒数第6行,倒数第4行。
原文:即Python 3的软连接指向的是Python 3.5。…… 可以按照自己的需要修改软连接。
修订:即Python 3的软链接指向的是Python 3.5。…… 可以按照自己的需要修改软链接。
说明:“连接”修改为“链接”。
页码:021
行数:图2-2-17文字说明第2行
原文:注意写法,左后要有“\”
修订:注意写法,最后要有“\”
说明:“左”修改为“最”。
页码:024
行数:图2-2-22的文字说明
原文:如果只安装了Python 3或者修改了软连接
修订:如果只安装了Python 3或者修改了软链接
说明:“连接”修改为“链接”。
页码:025
行数:“练习和编程2”的第3题。
原文:在使用Ubuntu操作系统 …… 到第1章“练习和编程”
修订:在Ubuntu操作系统 …… 到第1章“练习和编程1”
说明:删除“使用”二字;将“练习和编程”修改为“练习和编程1”。
页码:027
行数:倒数第1行
原文:用符号表示就是int。
修订:用符号int表示。
页码:030
行数:正文,正数第4段第1行
原文:上面这种提问,在数学中或许容易回答,
修订:此问题,在数学中或许容易回答,
说明:将“上面这种提问”修改为“此问题”。
页码:039
行数:正文,正数第2行
原文:想让计算机能够处理字符,也要如此处理,必须把字符与二进制的为(bit)之间建立起一个对应关系,这种对应关系被称为“字符编码”。
修订:想让计算机能够处理字符,也要如此,必须将字符与二进制的为(bit)之间建立起对应关系,这种对应关系称为“字符编码”。
说明:删除原来的“处理”、“一个”、“被”,并将原句中的“把”修改为“将”。
页码:041
增加“表象上看”
删除“函数”、“函数”
增加:实质上…实例(对此句…内容)。
页码:041
行数:正文,正数第1行
原文:尽管是数字,….,变成了字符串。这种由数字组成的字符串可以通过int函数和str函数实现相互间的类型转化。
修订:尽管是数字,….,变成了字符串。表象上看,这种由数字组成的字符串可以通过int和str实现相互间的类型转化,实质上,int(‘250’)是以字符串“250”为参数创建一个整数类型实例(对此句的理解请参阅本书第6章内容)。
说明:
页码:044
行数:正文,倒数第2行
增加一段:请思考并尝试:len(“大学”)的返回值是多少?在此基础上进一步体会帮助文档的说明。
说明:在“4. In:判断元素是否存在其中”前面增加上述内容,并单独一个段落。
页码:052
行数:正文,正数第2行
原文:2. 分隔和组合
修订:2. 分割和组合
说明:将原文中的“隔”修改为“割”。
页码:067
行数:正文,倒数第4自然段,第1行
原文:在一个字典中,“键”必须满足如下条件:
修订:字典中,“键”必须满足如下条件:
说明:删除“在一个”。
页码:074
行数:正文,正数第4自然段第2行
原文:它独立称为一个语句,
修订:它独立成为一个语句,
说明:原句中的“称”修改为“成”。
页码:076
行数:正文第2自然段。
原文:可以理解为深度拷贝就是复制过程的递归。
修订:可以将深度拷贝理解为复制过程的递归,即将容器中的容器也复制。
说明:如修订,修改原文表述顺序,并增加一句。
页码:076
行数:正文倒数第2自然段
原文:使用对象是可变的容器对象,对数字、字符串等没有“拷贝”操作。
修订:复制的是容器对象(区别在于一层还是多层),对数字、字符串等没有“拷贝”操作。
说明:将原句中的“使用对象是可变的”修改为“复制的是”,并增加“(区别在于一层还是多层)”
页码:089
增加“在”字
删除“的字词那样”
页码:089
行数:正文,正数第2自然段
原文:这就好比自然语言中的字词那样,要想然字词能表达某种意思,
修订:这就好比在自然语言中,要想然字词能表达某种意思,
说明:
页码:090
行数:正文,倒数第1段
原文:并且逐个字符进行比较,如果相等,则返回True。如果每个字符串都比较完毕,不等式仍然不成立,则返回False。
修订:并且逐个字符进行比较,如果比较关系对于每两个对应字符都成立,则返回True,否则返回False。
说明:删除原句中“如果相等…则返回False”,修改为“如果比较关系…返回False”。
页面:092
行数:正文,倒数第2自然段
原文:它们是Python的内置对象类型。
修订:它们是Python的内置对象。
说明:删除原文中的“类型”。
页面:093
行数:图4-1-1
说明:将原图4-1-1用下面的图示替换。
页面:094
行数:图4-1-2
说明:将原图4-1-2用下面的图示替换。
页面:094
行数:正文,标题“3. not”下第1行
原文:Not为“非”运算,
修订:not为“非”运算,
说明:将原文中首字母大写的“Not”修改为“not”
页面:095
行数:正文,倒数第5自然段
原文:e,作为数学常数,是自然对数函数的底数,有时称为欧拉数(Euler’s number),
修订:e,自然常数,也称为欧拉数(Euler’s number),
说明:删除原文“作为数学常数,…,有时”,并替换为“自然常数,也”。
页面:095
行数:正文,倒数第2自然段
原文:~~这里以math标准库为例,~~演示了import语句的不同使用方式。
修订:以上演示了import语句的不同使用方式。
说明:删除“这里以math标准库为例,”,并在替换“以上”。
页面:099
行数:正文,倒数第3自然段
原文:①在“for i in hello: ”中, for是发起循环的关键词,“i in hello”是循环规则。
修订:①在“for i in h: ”中, for是发起循环的关键词,“i in h”是循环规则(h = ‘hello’)。
说明:原文中的hello,改为:h。
页面:106
行数:正文,倒数第1行
原文:【例题4-4-7】有列表mybag = [‘glass’, ‘apple’, ‘green leaf’],
修订:【例题4-4-7】有列表mybag = [’ glass’, ‘ apple ‘, ‘green leaf ‘],
说明:列表中,第一个元素的的单词前面有一个空格;第二个元素单词两边都有空格,第三个元素最后一个单词右边有一个空格。
页面:109
行数:正文,正数第4自然段
原文:“猜中中止”,……,利用break中止循环
修订:“猜中终止”,……,利用break终止循环
说明:将“中止”修改为“终止”。
页面:110
行数:正文,正数第3行
原文:中止循环(break)
修订:终止循环(break)
说明:将“中止”修改为“终止”。
页面:114
行数:正文,正数第8行
原文:⑦通常的函数……,返回一个值(即对象)。
修订:⑦通常的函数……,返回一个或多个值(即对象)。
说明:将“返回一个值”修改为“返回一个或多个值”。
页面:130
它的名称是“装饰器”。
“装饰器”的作用在面的……
它的名称是“装饰器语法糖”。
“装饰器语法糖”的作用在面的……
行数:正文,倒数第2自然段、倒数第1自然段。
原文:
修订:
说明:删除“语法糖”三个字。
页面:135
行数:正文,正数第3行
原文:计算列表中整数的平均数和标注差。
修订:计算列表中整数的平均数和标准差。
说明:原文中的“标注差”修改为“标准差”。
页面:137
行数:正文,倒数第5段,第1行。
原文:在面向对象程式设计中,类(class)是一种面向对象计算机编程语言的构造,
修改:在面向对象程序设计中,类(class)是一种面向对象计算机编程语言的构造,
说明:原文中的“程式”,修改为“程序”。
页面:141
行数:第一段代码,注释⑦开始,到本段代码结束
修改:将注释⑦以及之后的缩进去掉,变成如下排版样式:
def nine_negative_kungfu(self): return "Ya! You have to die" zhangsan = SuperMan("zhangsan") #⑦ print("superman's name is:", zhangsan.name) #⑧ print("superman is:(0-female, 1-male)", zhangsan.gender) #⑨ result = zhangsan.nine_negative_kungfu() #⑩ print("If superman plays nine negative kungfu, the result is:") print(result)
页面:146
行数:正文,正数第1行
原文:③还是一个赋值语句。所以,这里“修改”变量Foo.lang本质上是引用了另一个对象。
修订:③还是一个赋值语句。所以,“属性值修改”可以理解为变量Foo.lang引用了另一个对象。
页面:150
行数:正文,正数第5自然段第2行
原文:如②所示。当用此示例调用方法的时候,……,如③和④所示。
修订:如④所示。当用此示例调用方法的时候,……,如③和②所示。
说明:②和④在文中调换位置。
页面:153
行数:正文,正数第1自然段和第2自然段。
原文:而④用装饰器装饰了……不需要”硬编码“,改为cls.msg的样式。
修订:④用装饰器装饰了……,使用cls.msg的样式。
说明:
删除第1自然段
第2自然段,删除“而”、“不需要”硬编码””,并将“改为”替换为“使用”。
在类Message中定义了类属性msg……于是不得不“并编码
页面:165
行数:正文,正数第5自然段
原文:大师 Brue Eckel 在上面提到的博客中
修订:大师 Bruce Eckel 在上面提到的博客中
说明:将 Brue修改为Bruce
页面:183
行数:正文,倒数第2行
原文:6.9.1 基本引用
修订:6.9.1 基本应用
说明:将原文中的“引用”修改为“应用”
页面:192
行数:正文,倒数第2自然段第2行
原文:Yield即“生产”“出产”之意,
修订:yield即“生产”“出产”之意,
说明:将原来首字母大写改为小写。
页面:193
行数:正文,倒数第2自然段第1行
原文:最后的结果用以往的函数知识不难理解。
修订:用以往的函数知识不难理解最后的结果。
页面:194
行数:例题6-11-1
原文:请编写一个迭代器函数
修订:请编写一个生成器函数
说明:将原文中的“迭代器”,修改为“生成器”
页面:199
行数:正文,正数第5行
原文:换一个方式,能发现一个规律。
修订:换个方式,能发现规律。
页面:218
行数:正文,倒数第2行
原文:一般情况下,如果本地没有安装,pip会随python默然安装上~~,可以通过下列方式完成安装工作~~。
修订:一般情况下,pip会随Python默认安装上。如果本地没有安装,可以同通过下列方式安装。
页面:227
行数:表5-2-1的第6行
原文:请求一个不存在的字典关键字
修订:请求一个不存在的字典的键
说明:将原文中的“关键字”修改为“的键”。
页面:230
行数:正文,正数第3自然段第2行
原文:所谓处理多个异常,是可以允许捕获不同的异常,由不同的except子句处理。
修订:所谓处理多个异常,即捕获不同的异常,并由不同的except子句处理。