前言
前 言Python已经成为当下*流行的计算机编程语言。2021年10月至今,Python力压C、Java等传统编译型语言而成为TIOBE编程语言排行榜*受欢迎语言。主要得益于它的超高扩展性,以及能使用C/C 扩展新功能和数据类型的特性。国外一些知名高校如麻省理工学院《计算机科学及编程导论》课程也使用了Python语言进行讲授。在科学研究上,众多开源的科学计算软件包都提供了Python的调用接口,例如著名的计算机视觉库OpenCV、三维可视化库VTK、医学图像处理库ITK等。而且Python专用的科学计算扩展库还包括NumPy、SciPy和Matplotlib,它们分别为Python提供了快速数组处理、数值运算以及绘图功能。Python是一种解释型语言,由荷兰数学和计算机科学研究学会的吉多·范罗苏姆于20世纪90年代初设计,*初用于编写脚本程序和快速开发应用程序。近年来,随着版本的不断更新和新功能的添加,逐渐用于独立的、大型的项目开发。本书旨在阐述Python语言的基础与相关特性,共包含11个章节。内容基于Windows 10和Python 3.6搭建的开发平台,通过大量示例介绍Python语言的基础知识,具体包括Python语法基础、数据类型、流程控制、函数、类和对象、高级特性、文件处理。*后,对Python用于Web应用开发和科学计算进行了详细介绍,同时给出图形化界面编程案例。参加本书编写的有李浪、余孝忠、李家瑶、欧雨和唐良文老师,其中第1章、第2章由李浪编写,第3章、第4章由余孝忠编写,第5章、第7章由李家瑶编写,第6章、第8章、第11章由欧雨编写,第9章、第10章由唐良文编写。编写期间,参与了讨论和代码调试工作的还有黄莹与李遇缘。全书由李浪和余孝忠统稿和审稿。本书编者都是从事多年Python语言教学和科研的教师,在编写本书过程中,结合了多年的教学经验,参考了国内外大量的文献资料。尽管我们再三校对,书中可能还存在错误和不足,恳请专家和广大读者指正和谅解。本书可以作为大中专院校及计算机培训机构相关专业的教材,也可作为Python爱好者的参考书。同时,我们已整理好书中实例代码并设计好相应的教学课件,有教学需要的老师可以在华中科技大学出版社的网页上下载,也可发邮件向我们索取,我们的联系方式:lilang911@126.com。 编 者 2022年4月
商品简介
本书从Python的基本概念出发,讲述Python语言的基础知识和典型项目案例。既有原理性的讲解,也有实例说明和分步骤的编程实现,深入浅出地引导读者思维和实践,既注意基本原理的学习、也注重培养学生实际的应用软件开发能力。力求通过实例让读者较好地掌握“Python程序设计”的思路、开发技巧与体系。内容循序渐进易于讲解,教学过程结构清晰,方便教师组织教学内容。本书适合作为Python程序设计类课程的教材或教学参考书,对Python应用开发人员也大有裨益,也可作为后续科研进阶的参考书。
作者简介
李浪,教授,博士,硕士生导师,衡阳师范学院计算机科学与技术学院院长研究方向为嵌入式计算与信息安全,主持获得湖南省技术发明三等奖(2019),湖南省计算机学会教学成果二等奖(2020年),湖南省教学成果三等奖(2016),湖南省优秀研究生导师(2021)。主持了国家自然科学基金面上项目1项,省部级项目20项,在包括《IEEEInternetofThingsJournal》、《电子学报》等以第一作者或通信作者发表了论文100多篇,专著与教材10部,授权发明专利13项,软件著作权20项。指导学生获得了国家级创新创业项目、研究生科研创新项目、大学生挑战杯、ACM大赛、研究生人工智能大赛等奖项。 主要贡献有:1)在轻量级分组密码算法研究方面,从密码结构,密码组件设计,控制方法等提出了系列轻量级分组密码算法。 2)在功耗攻击的防御中提出了伪随机固定值掩码算法(PFM)及其实现技术,该方法在芯片面积和功耗增加不大的情况下,可以有效抵抗二阶差分功耗攻击。 3)在密码技术的产学研应用中,对拥有自主知识产权的轻量级分组密码算法进行了成果转化与商业化开发及应用。 4)在应用创新型人才培养中,提出了“一生一系统”(每位学生在读期间开发一个具有一定价值的软件或硬件系统),并改革了相应的课程体系,培养高素质应用创新型人才。
目录
目 录
第1章 绪论 (1)
1.1 计算机基础 (1)
1.1.1 计算机的特点 (1)
1.1.2 常用数制及编码 (2)
1.1.3 进制转换与运算 (3)
1.1.4 计算机系统的组成 (3)
1.1.5 操作系统 (5)
1.1.6 程序设计语言 (8)
1.2 Python语言简介 (9)
1.3 Python的安装 (9)
1.3.1 Window平台安装Python (9)
1.3.2 Linux平台安装Python (12)
1.3.3 MAC平台安装Python (14)
1.4 Pip的使用 (15)
1.5 Python IDLE开发环境 (16)
1.6 PyCharm开发环境 (17)
1.7 Anaconda环境管理工具 (20)
本章小节 (21)
习题 (21)
第2章 Python的基本语法 (23)
2.1 标识符和变量 (23)
2.1.1 标识符和关键字 (23)
2.1.2 常量和变量 (25)
2.2 数字类型 (25)
2.2.1 整型 (26)
2.2.2 浮点数 (26)
2.2.3 复数 (27)
2.2.4 数学库的使用 (28)
2.3 字符串 (29)
2.3.1 字符串和转义字符 (29)
2.3.2 字符串切片 (31)
2.3.3 字符串拼接 (32)
2.3.4 字符串格式化 (32)
2.3.5 字符串常用方法 (34)
2.4 布尔值和空值 (35)
2.5 运算符与表达式 (36)
2.5.1 运算符 (36)
2.5.2 表达式 (39)
2.6 输入/输出及格式化 (39)
2.6.1 输入函数 (39)
2.6.2 输出函数 (40)
2.6.3 格式化输出 (40)
本章小结 (41)
习题 (41)
第3章 高级数据类型 (43)
3.1 列表 (43)
3.1.1 列表的创建与删除 (43)
3.1.2 增加列表元素 (44)
3.1.3 删除列表元素 (46)
3.1.4 列表元素的访问与计数 (47)
3.1.5 列表的切片 (48)
3.1.6 列表的排序 (49)
3.1.7 列表的常用函数 (51)
3.1.8 列表推导式 (51)
3.2 元组 (52)
3.2.1 元组的创建与删除 (52)
3.2.2 元组的常用函数 (52)
3.2.3 元组与列表的区别 (53)
3.3 字典 (53)
3.3.1 字典的创建与删除 (53)
3.3.2 字典元素的读取 (54)
3.3.3 字典元素的添加与修改 (54)
3.3.4 字典的常用方法 (54)
3.4 集合 (58)
3.4.1 集合的创建与删除 (58)
3.4.2 集合元素的添加与修改 (59)
3.4.3 集合的常用函数 (60)
本章小节 (61)
习题 (61)
第4章 流程控制 (62)
4.1 选择结构 (62)
4.1.1 单分支选择结构 (62)
4.1.2 双分支选择结构 (63)
4.1.3 多分支选择结构 (64)
4.1.4 if语句的嵌套 (65)
4.2 while循环 (66)
4.3 for循环 (67)
4.4 循环嵌套 (68)
4.5 循环中常用的函数 (69)
4.6 break语句和continue语句 (70)
4.6.1 break语句 (70)
4.6.2 continue语句 (70)
本章小节 (71)
习题 (71)
第5章 函数 (73)
5.1 函数的定义和调用 (73)
5.1.1 函数的定义 (73)
5.1.2 函数的调用 (74)
5.2 函数参数 (74)
5.2.1 形参与实参 (74)
5.2.2 参数类型 (75)
5.3 函数的返回值 (77)
5.4 变量的作用域 (78)
5.5 递归 (79)
5.6 lambda表达式 (80)
5.7 内置函数 (81)
5.7.1 sorted()函数 (81)
5.7.2 map()函数 (82)
5.7.3 zip()函数 (82)
5.8 模块和包 (83)
5.8.1 模块 (83)
5.8.2 包 (84)
本章小结 (85)
习题 (85)
第6章 Python面向对象 (87)
6.1 面向对象的概念 (87)
6.2 类与实例 (88)
6.2.1 类的定义 (88)
6.2.2 类的实例 (90)
6.3 封装 (91)
6.3.1 命名空间 (92)
6.3.2 作用域 (92)
6.4 继承 (94)
6.4.1 继承的定义 (94)
6.4.2 方法的继承与重写 (95)
6.5 多态 (98)
6.5.1 特殊方法 (98)
6.5.2 运算符重载 (100)
本章小结 (101)
习题 (101)
第7章 Python高级特性 (103)
7.1 集合数据操作 (103)
7.1.1 切片 (103)
7.1.2 迭代 (104)
7.2 生成式与生成器 (106)
7.2.1 列表生成式 (106)
7.2.2 迭代器 (107)
7.2.3 生成器 (108)
7.3 特殊语句 (109)
7.3.1 eval函数和exec函数 (109)
7.3.2 isinstance函数 (111)
7.3.3 repr函数 (112)
本章小结 (112)
习题 (113)
第8章 文件与异常处理 (114)
8.1 文件的基本概念 (114)
8.2 文件的操作 (114)
8.2.1 文件对象 (114)
8.2.2 文本文件操作 (115)
8.2.3 二进制文件操作 (117)
8.3 基于文件的数据处理 (119)
8.3.1 从文件读取为列表 (119)
8.3.2 从文件读取为字典 (121)
8.4 文件夹操作 (122)
8.4.1 os模块与os.path模块 (122)
8.4.2 Shutil模块 (125)
8.5 异常处理 (126)
8.5.1 语法错误与异常描述 (126)
8.5.2 Python异常与自定义异常 (127)
8.5.3 try…except语句 (127)
8.5.4 try…except…else语句 (128)
8.5.5 try…except…finally语句 (128)
本章小结 (129)
习题 (130)
第9章 Web应用开发 (131)
9.1 概述 (131)
9.1.1 Django框架介绍 (131)
9.1.2 内容概要 (132)
9.2 安装和启动Django (132)
9.2.1 安装方法 (132)
9.2.2 创建和启动项目 (132)
9.3 创建新应用 (134)
9.3.1 创建 (134)
9.3.2 添加第一个简单页面 (134)
9.3.3 网址构成规则 (135)
9.4 Django数据模型 (136)
9.4.1 数据库配置 (136)
9.4.2 创建模型 (136)
9.4.3 Admin后台初步 (138)
9.4.4 配置Admin显示列表 (140)
9.4.5 查找和快速修改模型 (141)
9.5 Django网页模板 (143)
9.5.1 概要 (143)
9.5.2 网页模板介绍 (143)
9.5.3 选择题列表展示页面 (143)
9.5.4 选择题练习页面 (145)
9.6 处理表单 (146)
9.6.1 静态网页的局限性 (146)
9.6.2 网页表单 (147)
9.6.3 选择题答案提交表单 (148)
9.6.4 处理表单 (148)
本章小结 (149)
习题 (150)
第10章 科学计算 (155)
10.1 NumPy库 (155)
10.1.1 NumPy概述 (155)
10.1.2 核心数据结构 (155)
10.1.3 索引、切片和迭代 (156)
10.1.4 数组操作 (158)
10.1.5 数学运算 (161)
10.2 Matplotlib绘图库 (165)
10.2.1 Matplotlib概述 (165)
10.2.3 图的组成部分 (166)
10.2.4 基本绘图方法 (167)
10.2.5 输入数据类型 (168)
10.2.6 图的显示风格化 (169)
10.2.7 文字和标注 (170)
10.2.8 附加数据轴 (172)
本章小结 (173)
习题 (173)
第11章 Python图形界面编程 (174)
11.1 第一个GUI应用 (174)
11.2 按钮与事件 (176)
11.3 组件布局 (178)
11.4 图片浏览器 (181)
11.5 简易计算器 (186)
本章小结 (192)
习题 (193)
参考文献 (195)
内容摘要
本书从Python的基本概念出发,讲述Python语言的基础知识和典型项目案例。既有原理性的讲解,也有实例说明和分步骤的编程实现,深入浅出地引导读者思维和实践,既注意基本原理的学习、也注重培养学生实际的应用软件开发能力。力求通过实例让读者较好地掌握“Python程序设计”的思路、开发技巧与体系。内容循序渐进易于讲解,教学过程结构清晰,方便教师组织教学内容。本书适合作为Python程序设计类课程的教材或教学参考书,对Python应用开发人员也大有裨益,也可作为后续科研进阶的参考书。
主编推荐
(1)该教材的编写由校内一线教师和有企业经验的教师共同完成。由于“Python程序设计”课程的重要地位和实践特点,不仅需要理论上符合本科教学要求,更需要丰富的实践应用教学,因此本教材组织了校内和具有企业经验的教师共同编写。(2)基于案例驱动的教学内容设计。以往的教材在内容上一般只有针对知识点的基础案例,缺乏应用案例,从而使学生感到高深莫测和畏难情绪。因此,我们在该教材的编写过程中精心设计使用 Python 语言的实际开发应用案例,以确保应用的完整性。 (3)理论与实践相结合,通过大量的实例,学习程序设计的基本原理,使学生不仅掌握理论知识,同时掌握大量程序设计的实用案例。选择案例时由浅入深,先针对知识点的理解给出一个基础案例,随后针对该知识点的应用给出若干应用案例,这样学生就掌握了每个知识点的应用价值,学习起来更有兴趣和信心。 (4)提供大量的源代码和开发案例。本教材将提供所有案例源代码,同时在重要的章节都提供了较为深入的设计案例。为学生提供了更为深入的源码讨论和模仿的机会,极大提高教材的全面性、深入性和综合性。(5)提供大量的应用实践内容。为了更好地提高学生的专业技能训练以及提高学生的学习兴趣,在该教材的编写中,编写成员根据多年教学的积累结果,整理出了适合我校专业学生学习实际情况的应用实践案例,并提供相应的解决思路和源代码。为学生提供了很好的学习机会和训练机会。
以下为对购买帮助不大的评价