本书采用知识模块+案例的双核组织方式,每个知识点都配有相关的案例,对操作过程进行详细简介,注重实践能力的培养。将项目分解到各个章节中形成项目贯穿,学生学完内容即完成项目。每章配有综合项目,提升学生使用Python解决问题的能力。
全书还配有37个微课视频,由浅入深的讲解相关技术。
本书基于Python3.x版本,使用PyCharm开发工具进行程序开发,内容由浅入深,理论与实践相结合。本书全面讲解了Python的语法,Python面向过程编程和面向对象编程思想与规范,Python中的常用数据结构与算法,使用Python进行文件操作,Python常见的第三方模块,数据分析与可视化基础、网络爬虫基础等内容。本书所有的知识点都配有编程案例和视频讲解,读者可以扫描二维码进行观看。
为了方便教学,本书还配有电子课件等相关教学资源包,电子课件可以在“我们爱读书”网(www.ibook4us.com)浏览,同时任课教师还可以发邮件至hustpeiit@163.com索取。
本书既可以作为高等院校本、专科层次计算机相关专业以及其他工科专业的Python编程教材,也可以作为编程自学者、软件开发培训班的参考用书。
Python是一种面向对象的、解释性的计算机程序设计语言,也是一种功能强大而完善的通用型语言,它已经有二十多年的发展历史,因此已经非常成熟和稳定。它有丰富的第三方模块的支持,可以应用于Web和Internet开发、科学计算和统计、人工智能、教育、桌面界面开发、软件开发、后端开发、网络爬虫等领域。它拥有非常简洁而清晰的语法特点,几乎可以在所有的操作系统中运行,能够支持绝大多数应用系统的构建。它作为一种功能强大且通用的编程语言受到广大开发者的好评,其语法清晰且适用于多种操作系统。
由于Python的语法简洁,易于阅读和编码,因此目前很多高校都开设了Python编程相关的课程。程序设计思想与动手实践能力是编程重要的两个方面,因此书中每章都分为理论与实践两个部分,每章的知识点都配有编程案例与视频,每章的后一节为实践部分,读者应根据需求说明完成相关的编程任务,从而达到学以致用的目的。
本书在Windows操作系统下基于Python 3.7版本,使用PyCharm工具开发Python程序,讲解相关的知识点。全书分为13章,主要内容如下。
第1章主要讲解Python的特点、搭建Python的开发环境,并使用PyCharm IDE开发第一个Python程序。
第2章主要讲解变量及其使用、常用的数据类型、Python中的运算符和表达式,以及字符串的操作。
第3章主要讲解了程序的流程结构,包括选择结构、循环结构、跳转语句等内容。选择结构可以通过if、ifelse语句实现。循环结构使用while、for语句实现。跳转语句使用break、continue关键字实现。
第4章主要讲解了如何定义函数和模块以及调用不同类型的函数,以及Lambda函数的使用,后介绍了一些常用的第三方模块。
第5章主要讲解了列表、元组、字典、集合等四种常用的数据结构以及算法基础,包括常用的各种查找、排序算法的实现方法。
第6章主要讲解了PyCharm中的程序调试、异常与异常处理,后还介绍了Turtle模块绘图的方法。
第7~8章主要讲解了面向对象编程的知识,包括类和对象基础,以及面向对象编程中的封装、继承、多态等内容。
第9章主要讲解了Python中各种不同类型文件的处理方法,包括文本和二进制文件的处理、文件编码及其他一些相关内容,以及如何进行各种文件读写。后介绍了jieba模块进行中文分词。
第10章主要讲解了使用Numpy模块进行科学计算,使用matplotlib模块绘制图表,以及使用pandas模块处理数据。
第11章主要讲解了主要的两个模块requests和beautifulsoup4,通过它们来实现抓取网页数据和解析网页数据。
第12章主要讲解了多线程编程,包括通过Thread创建线程以及如何实现线程同步。
第13章主要讲解了网络编程,介绍了计算机网络的基础知识和讲解基于Socket的网络编程技术。
Python的应用很广泛,还有很多知识本书未涉及,希望读者在学习的过程中举一反三,不断拓宽自己的学习领域。在学习中既要注重基础,也要注重新的库的使用,在编程时先思考如何设计程序,不断重构,以提升编程能力。
本书在教学和编写过程中,学习和参考了很多Python编程的优秀教材,这些书都给了编者很大的帮助,在此表示感谢,还要感谢华中科技大学出版社和帮助过编者的各位专家和同事,和他们交流讨论使编者受益匪浅。
为了方便教学,本书还配有电子课件等相关教学资源包,电子课件可以在“我们爱读书”网(www.ibook4us.com)浏览,同时任课教师还可以发邮件至hustpeiit@163.com索取。
由于编者水平有限,书中难免会有不妥之处,欢迎各位专家和读者朋友们来信给出宝贵的建议,在此表示感谢。
第1章初识Python
1.1Python介绍/002
1.2Python开发环境/005
1.3Python程序开发/009
1.4项目实践/016
第2章变量与数据类型
2.1变量/020
2.2运算符和表达式/024
2.3字符串/028
2.4项目实践/037
第3章流程控制语句
3.1流程控制结构/041
3.2选择结构/042
3.3循环结构/048
3.4跳转语句/055
3.5项目实践/056
第4章模块化程序设计
4.1函数/060
4.2模块/068
4.3Lambda表达式/073
4.4实践任务/075
第5章常用数据结构与算法
5.1常用的数据结构/081
5.2列表(list)/081
5.3元组类型(tuple)/088
5.4字典(dict)/089
5.5集合(set)/092
5.6常用的算法/094
5.7eval函数/094
5.8实践任务/100
第6章调试及异常处理
6.1程序调试/105
6.2异常与异常处理/109
6.3Turtle模块绘图/109
6.4项目实践/119
第7章类和对象
7.1类和对象/125
7.2Python中的类和对象/128
7.3项目实践/135
第8章面向对象编程进阶
8.1封装/138
8.2继承/139
8.3多态/143
8.4运算符重载/144
8.5项目实践/150
第9章文件操作
9.1文件的基础知识/154
9.2文件的打开与关闭/154
9.3文件的读写/156
9.4目录和文件的操作/163
9.5内存读写/166
9.6jieba实现中文分词/167
9.7项目实践/168
第10章数据分析与可视化
10.1数据分析与应用概述/173
10.2NumPy模块的使用/175
10.3matplotlib模块的使用/180
10.4pandas模块的使用/184
10.5项目实践/194
第11章网络爬虫与信息提取
11.1网络爬虫简介/198
11.2抓取网页数据/200
11.3解析网页数据/200
11.4项目实践/214
第12章多线程编程
12.1进程和线程/223
12.2创建和启动多线程/224
12.3ThreadLocal变量/229
12.4线程同步/231
12.5项目实践/238
第13章Python网络编程
13.1网络编程的基本概念/241
13.2Socket网络编程/244
13.3Python GUI编程/248
13.4项目实践——简易的聊天程序/254
附录AASCII码表标准版/256