Python中文网

推荐编程书籍:Python程序设计实用教程(全国高等院校应用型创新规划教材·计算机系列),由清华大学出版社2018-06-01月出版发行,本书编译以及作者信息 为:杨连贺,董禹龙,房超,毕璐琪,梁润宇 ... 著,此次为第1次发行, 国际标准书号为:9787302500476,品牌为清华大学, 这本书采用平装开本为16,纸张采为胶版纸,全书共有376页字数57万2000字,是本Python 编程相关非常不错的书。

此书内容摘要

Python是一门简单易学、功能强大的编程语言,它内建了高效的数据结构,能够用简单而又高效的方式编程。它优雅的语法和动态的类型,再结合它的解释性,使其成为在大多数平台下编写脚本或开发应用程序的理想语言。

《Python程序设计实用教程》系统而全面地介绍了Python语言的全部内容,既能为初学者夯实基础,又适合程序员提升技能。考虑到近几年数据挖掘技术和网络编程技术的发展,本书加入了Python语言在科学计算、网络编程、并发技术和数据可视化方面的内容。与一般的Python语言教材相比,本书增加了许多实际案例的应用,可以让读者更好地将Python基础知识应用到实际工作中。书中的每道例题,均以屏幕截图的方式原滋原味地给出运行结果,便于读者分析程序。

《Python程序设计实用教程》可作为高等院校各专业的Python语言教材,亦可作为软件开发人员的参考资料,还可作为读者自学Python语言的参考书。


关于此书作者

暂无.

编辑们的推荐

《Python程序设计实用教程》*大的特点是内容紧凑、案例丰富、学以致用;程序输出原滋原味,既有正确输出的结果,又有错误输出的提示,让读者既能从“正”的方面学到经验,又能从“负”的方面吸取教训,使经验与教训兼而得之。《Python程序设计实用教程》总体内容按照先基础、后应用的顺序安排。前6章为基础篇,其内容循序渐进;后6章为应用篇,其内容自成体系;每个知识点按照先讲解知识、后给出案例的顺序编写;每个软件都配有安装过程截图,每道例题都配有运行结果截图,一目了然。

《Python程序设计实用教程》作者具有近30年的程序设计教学经验,讲授过多门编程语言课程,并编写过大量的应用程序,青年时期曾参加过市级讲课大赛并取得优异成绩,特别是在美国访学期间,用Python语言开发过较大规模的软件。在内容的组织和安排上,本书结合了作者多年教学与科研中积累的经验,并巧妙地将其糅合到相应的章节中。

《Python程序设计实用教程》以目前流行的Python 3为基础,适当兼顾Python 2.x,既讲解Python的基础知识,又适当介绍Python在各个方面的应用,因而,可以满足不同层次读者的需要。


Python程序设计实用教程(全国高等院校应用型创新规划教材·计算机系列)图书的目录

目 录


第1章 Python程序设计入门 1

1.1 Python概述 2

1.2 Python开发环境的搭建 6

本章小结 16

习题 17

第2章 Python语言基础 19

2.1 基础Python语法 20

2.2 数值 22

2.3 字符串 29

2.4 列表与序列 38

2.5 元组 42

2.6 字典 45

2.7 集合 49

2.8 正则表达式 54

本章小结 64

习题 64

第3章 Python流程控制 67

3.1 if语句 68

3.2 for循环 74

3.3 range()函数 80

3.4 while循环 83

3.5 案例实训:输出所有和为某个正整数的连续正数序列 88

本章小结 90

习题 90

第4章 函数模块 93

4.1 Python代码编写规范 94

4.2 自建模块 97

4.3 标准模块 112

4.4 巧用lambda表达式 119

4.5 Python工具箱 120

4.6 案例实训:“哥德巴赫猜想”的验证 123

4.7 本章小结 124

习题 124

第5章 文件与异常处理 127

5.1 文件的基本操作 128

5.2 指定目录下的文件操作 134

5.3 CSV文件 136

5.4 Excel文件 138

5.5 HTML文件 142

5.6 XML文件 146

5.7 异常处理 149

5.8 使用pdb模块调试程序 153

5.9 案例实训:文本文件的操作与异常处理 157

本章小结 160

习题 160

第6章 面向对象编程 163

6.1 类的定义与使用 165

6.2 Python类与对象 173

6.3 继承 178

6.4 案例实训:Python面向对象编程案例演练 186

本章小结 201

习题 201

第7章 数据库编程 205

7.1 数据库技术基础 206

7.2 SQLite数据库 208

7.3 MySQL数据库 216

7.4 案例实训:管理信息系统的数据操作 232

本章小结 235

第8章 Web开发 237

8.1 将程序放在Web上运行 238

8.2 使用MVC设计Web应用 241

8.3 使用CGI将程序运行在服务器上 242

8.4 案例实训:Web页面获取表格内容并显示 248

本章小结 251

习题 251

第9章 使用Python进行数据分析 253

9.1 数据挖掘简介 254

9.2 为什么选择Python进行数据挖掘 255

9.3 Python的主要数据分析工具 255

9.4 案例实训 268

本章小结 272

习题 272

第10章 GUI编程和用户界面 275

10.1 Tkinter模块 276

10.2 网格布局管理器 298

10.3 GUI编程 304

10.4 案例实训:设计一个查看文件目录的程序 307

本章小结 310

习题 310

第11章 多进程与多线程 313

11.1 多进程与多线程 314

11.2 多进程编程 316

11.3 Multiprocessing 318

11.4 多线程编程 328

11.5 案例实训:捉迷藏游戏设计 331

本章小结 332

习题 333

第12章 网络编程 335

12.1 计算机网络基础知识 336

12.2 socket通信技术 339

12.3 编写一个端口扫描器 344

12.4 简单网络爬虫的实现 345

12.5 案例实训:设计获取网站热点要闻的网络爬虫程序 350

本章小结 357

习题 357

附录A Python关键字 359

附录B 其他常用功能 363

参考文献 365


部分内容试读

前 言

根据TIOBE网站的最新排名,Python已超越C#,与Java、C、C++一起,成为全球前四大流行语言。IEEE发布的2017年编程语言排行榜则将Python排在榜首。

Python也是美国大学选用最多的语言,著名的哈佛大学、麻省理工学院、加州大学伯克利分校、卡耐基·梅隆大学等,已将Python语言作为计算机专业和非计算机专业的入门语言。Python崇尚简、短、精、小,其应用几乎无限制,各方面地位超然。Python在软件质量控制、提升开发效率/可移植性、组件集成、丰富的库支持等方面,均处于先进地位。更重要的是,Python简单易学、免费开源、可移植、可扩展、可嵌入。此外,Python还支持面向对象,而且它的面向对象甚至比Java和C#.NET更彻底。

Python是高“性价比”的语言。它合理地结合了高性能与低成本(代码量小、维护成本低、编程效率高)的特色,致力于用最简洁、最简短的代码完成任务。

完成同样的业务逻辑时,在其他编程语言中可能需要编写大量的代码,而在Python中只需要调用内建函数或内建对象的方法即可实现,甚至可以直接调用第三方扩展库来完成。一般情况下,Python的代码量仅仅是Java的1/5,足见Python编程的高效。

Python是应用“无限制”的语言。它被广泛应用于后端开发、游戏开发、网站开发、科学计算、大数据分析、云计算、图形开发等领域。美国中央情报局CIA网站、世界上最大的视频网站YouTube、国内最大的问答社区“知乎”等,都是用Python开发的,搜狐、金山、腾讯、盛大、网易、百度、阿里、淘宝、土豆、新浪、果壳等著名的IT公司都在使用Python完成各种各样的任务。

Python是一种代表“简单主义”思想的语言。它的设计哲学是优雅、明确、简单。阅读一个良好的Python程序,感觉就像是在阅读英语,尽管这个英语的要求非常严格!Python的这种伪代码本质,是它最大的优点之一。

Python是“高层次”的语言。它内建优异的数据结构,很容易表达各种常见的数据结构,不再需要定义指针、分配内存,编程也简单了许多,也无须考虑程序对内存的使用等底层细节,把许多机器层面上的细节隐藏起来,凸显出逻辑层面的编程思考。

Python是免费、开源、跨平台的高级动态编程语言。它支持命令式编程、函数式编程,全面支持面向对象编程;它语法简洁、清晰,拥有功能丰富而强大的标准库和大量的第三方扩展库;它使用户能够专注于解决问题,而不是去搞明白语言本身,这是它开发效率高的根本原因。

由此可见,用“出类拔萃”来形容Python并不为过。Python以如此众多的优势,吸引着无数程序员投身于其中。网上的一句流行语颇耐人寻味:“人生苦短,我用Python”。

在国外,“Python热”正在逐步升温,涉及方方面面的领域;在国内,越来越多的大学已将Python列入本科生的必修课程或选修课程,越来越多的IT企业将开发语言瞄向了Python。可以预见的是,国内的“Python热”即将掀起,本书的出版迎合了这一趋势。

本书的内容组织说明如下。

为了拓展应用范围,充分利用现有资源,对于Python程序员而言,熟练运用第三方扩展库是非常重要的。使用成熟的扩展库,可以帮助我们快速地实现业务逻辑,达到事半功倍的效果。但是,第三方扩展库的理解和运用,无疑要建立在对Python基础知识和基本数据结构熟练掌握的基础上。因此,本书兼顾“基础”与“应用”两个方面,前6章把重点放在基础上,通过大量的经典例题,讲解Python语言的核心内容;后6章则把重点放在应用上,通过大量的案例,介绍Python在实际开发中的应用。关于不同应用领域的第三方扩展库,读者可以参考附录B,并结合自己的专业领域查阅相关文档。

本书共分12章,主要内容组织如下。

第1章:Python程序设计入门。介绍什么是Python,学习Python的原因,Python的发展历史,多种平台下Python环境的搭建,使用集成开发环境IDLE来帮助学习Python,Python常用的开发工具,最后给出本书的第一个Python程序。

第2章:Python语言基础。讲解Python的语法和句法,Python的数据类型,Python的常量与变量,Python的运算符与优先级,Python的数值类型,Python的字符串类型,Python的高级数据类型(列表、元组、字典、集合),最后介绍正则表达式及其应用。

第3章:Python流程控制。讲解if语句和for语句的基本格式、执行规则、嵌套用法,range()函数在循环中的使用方法,while语句的基本格式、执行规则、嵌套用法,最后介绍break、continue、pass等关键字在循环中的使用方法。

第4章:函数模块。讲解Python代码编写规范和风格,函数的定义与调用,函数参数的传递,Python变量作用域,函数与递归,迭代器与生成器,Python自定义模块,输入输出语句的基本格式及执行规则,匿名函数的定义与使用。

第5章:文件与异常处理。介绍文件和文件对象,讲解基于os模块的文件操作方法,基于shutil模块的文件操作方法,文本文件、CSV文件、Excel文件的基本操作,HTML、XML文档的基本操作,最后介绍Python的异常处理机制及Python程序的调试方法。

第6章:面向对象编程。介绍面向对象技术,讲解类与对象的定义和使用,类的属性与方法,类的作用域与命名空间,类的单继承和多继承,最后以数个典型实例讲解面向对象程序设计的应用。

第7章:数据库编程。讲解数据库技术基础,SQLite和MySQL数据库的数据类型、基本操作,使用Python操作SQLite和MySQL数据库的方法。

第8章:Web开发。讲解Web应用的工作方式,MVC设计模式,CGI通用网关接口,使用模板快速生成Web页面。

第9章:使用Python进行数据分析。讲解使用Python进行数据挖掘的原因,介绍NumPy库、SciPy库、Matplotlib库和Pandas库,最后通过数理统计中的数据离散度分析和数据挖掘中的离群点分析等典型案例,介绍Python在数据可视化方面的应用。

第10章:GUI编程和用户界面。讲解GUI界面的概念,Tkinter模块及其各种组件,网格布局管理器,最后介绍GUI编程。

第11章:多进程与多线程。介绍多进程与多线程的概念,讲解多进程与多线程的区别,进程间通信技术,进程池,最后介绍thread锁。

第12章:网络编程。讲解计算机网络基础知识,Socket通信技术,urllib库及其使用,端口扫描器,最后以一个简单的网络爬虫为例,对前几章的知识进行综合应用。

本书最大的特点是内容紧凑、案例丰富、学以致用;程序输出原滋原味,既有正确输出的结果,又有错误输出的提示,让读者既能从“正”的方面学到经验,又能从“负”的方面吸取教训,使经验与教训兼而得之。全书总体内容按照先基础、后应用的顺序安排。前6章为基础篇,其内容循序渐进;后6章为应用篇,其内容自成体系;每个知识点按照先讲解知识、后给出案例的顺序编写;每个软件都配有安装过程截图,每道例题都配有运行结果截图,一目了然。

本书作者具有近30年的程序设计教学经验,讲授过多门编程语言课程,并编写过大量的应用程序,青年时期曾参加过市级讲课大赛并取得优异成绩,特别是在美国访学期间,用Python语言开发过较大规模的软件。在内容的组织和安排上,本书结合了作者多年教学与科研中积累的经验,并巧妙地将其糅合到相应的章节中。

本书以目前流行的Python 3为基础,适当兼顾Python 2.x,既讲解Python的基础知识,又适当介绍Python在各个方面的应用,因而,可以满足不同层次读者的需要。

本书可以作为高等院校计算机或非计算机专业程序设计语言公共课或选修课教材,基础教学建议选取前6章内容,推荐36学时;“基础+应用”教学建议按“6+n”方式选取教学内容,后面6章可根据专业需要择其一二,或全部选用,推荐42~64学时。建议采用边讲边练的教学模式。本书可以作为具有一定Python基础的读者进一步学习的资料,可供参加各类计算机考试的人员学习和参考,也可以作为从事数据分析、网络运维、数据库开发、Web开发、界面设计、软件开发等工作的工程师的参考资料。对于打算利用业余时间快乐地学习一门编程语言并编写一些小程序来自我娱乐的读者,本书是首选的学习资料。本书亦适合对编程有着浓厚兴趣的中小学生作为课外阅读资料。

本书由天津工业大学杨连贺、董禹龙、房超主编,该校毕璐琪、梁润宇及天津市电子计算机研究所杨阳、湖南应用技术学院彭进香为副主编。限于作者的经验和水平,书中的错误与不足之处在所难免,希望得到专家和读者的批评指正。

本书编写过程中,天津工业大学计算机科学与软件学院硕士研究生张海潮和焦翠姣在程序调试方面做了很多工作,在此一并向她们表示衷心的感谢。

作 者

2018年5月于天津工业大学


关于此书评价

暂无.

书摘内容

第2章 Python语言基础

本章要点

(1) Python的语法和句法。

(2) Python的数据类型。

(3) Python的常量与变量。

(4) Python的运算符与优先级。

(5) Python的数值类型。

(6) Python的字符串类型。

(7) Python的高级数据类型(列表、元组、字典、集合)。

(8) 正则表达式。

学习目标

(1) 了解Python的语法和句法。

(2) 理解Python的数据类型。

(3) 掌握Python的常量与变量。

(4) 掌握Python的数值、字符串、列表、元组、字典、集合。

(5) 掌握正则表达式的概念及其应用。


本章将以较大的篇幅介绍Python语言最基础的内容,包括Python语法、基本数据类型、常量变量、运算符与优先级、高级数据类型,最后介绍正则表达式的概念及其应用。

2.1 基础Python语法

2.1.1 标识符

在编程语言中,标识符就是程序员自己规定的具有特定含义的词,比如类名称、属性名、变量名、函数名等。一般语言规定,标识符由字母或下划线开头,后面可以跟字母、数字、下划线。

Python标识符的命名规则如下。

(1) 标识符长度无限制。

(2) 标识符不能与关键字(见附录A)同名。

(3) 字母大小写敏感。

(4) 在2.x版本的Python中,标识符的命名规则与一般语言的规定一样,但在3.x的Python中进行了扩展,标识符的引导字符可以是字母、下划线以及大多数非英文语言的字母,只要是Unicode编码的字母均可,后续字符可以是上述任意字符,也可以是数字。

虽然Python对标识符命名的限制很少,但使用时,仍需要注意以下约定。

(1) 不要使用Python预定义的某些标识符,因此要避免使用诸如NotImplemented等名字,这些在未来有可能被Python的新版本使用。

(2) 不要使用Python内建函数名或内置数据类型或异常名作为标识符的名字。

(3) 不要在名字的开头和结尾都使用下划线,因为Python中大量地采用这种名字定义各种特殊的方法和变量。

2.1.2 Python语法和句法

Python语句中有一些基本规则和特殊字符。

(1) 井号(#)表示其后的字符为 Python语句的注释。

(2) 换行(\n)是标准的行分隔符(通常一个语句占一行)。

(3) 反斜线(\)继续上一行。

(4) 分号(;)将两条语句放在一行中。

(5) 冒号(:)将复合语句的头和体分开。

(6) 代码块(语句块)用缩进的方式体现。

(7) 用不同的缩进深度分隔不同的代码块。

(8) Python文件以模块的形式组织。

1. 注释(#)

尽管Python是可读性最好的语言之一,但这并不意味着代码中的注释可以不要。Python的注释语句以#字符开始,注释可以在一行的任何地方开始,解释器将会忽略该行#之后的所有内容。

2. 续行(\)

一般来讲,Python的相邻语句使用换行(回车)分隔,亦即一行一条语句。如果一行语句过长,可以使用续行符(\)分解为多行,例如:


print("This line is toooooooooo \

long")


关于续行符有两种例外情况。

(1) 一个语句不使用反斜线也可以跨行书写。

在使用闭合操作符时,单一语句也可以跨多行。例如,在含有小括号、中括号、花括号时,可以多行书写:


print("This is a multiline",

"example")


但须注意,这时的缩进(即使是自动的缩进)将失去语法上的作用。

(2) 三引号内包含的字符串也可以跨行书写。例如:


print('''hi there, this is a long message for you

that goes over multiple lines!''')


如果要在使用反斜线换行和使用括号元素换行之间做一个选择的话,我们推荐使用后者,因为这样可读性会更好。

3. 多个语句构成代码组(:)

缩进位置相同的一组语句形成一个语句块,亦称代码块或代码组。像if、for、while、def 和class 之类的复合语句,首行均以关键字开始,并以冒号(:)结束,该行之后的一行或多行代码就构成了代码组,即语句块。

4. 代码组以不同的缩进分隔

Python使用缩进来分隔代码组。代码的层次关系是通过相同深度的空格或制表符缩进来体现的,同一代码组内的代码行左边必须严格对齐。换言之,一个代码组内的各行代码,左边必须有数目相同的空格或数目相同的制表符,而且不能以一个制表符替代多个空格!如果不严格遵守这一规则,同一组的代码就可能被视为另一个组,轻则导致逻辑错误,重则导致语法错误。

注意: 对初次使用空白字符作为代码块分界的人来说,首先遇到的问题是:缩进几个空格或制表符才算合适?理论上讲是没有限制的,但我们推荐使用4个空格。需要说明一点,不同的文本编辑器中制表符代表的空白宽度不一样,如果所写的代码要跨平台应用,或者将来要被不同的编辑器来读写,那么建议不要使用制表符。

随着缩进深度的增加,代码块的层次也在逐步加深,未缩进的代码块处于最高层次,称作脚本的main部分。

采用缩进对齐方式来组织代码,不但代码风格优雅,而且其可读性也大大增强。不仅如此,这种方法还有效地避免了“悬挂else”(dangling-else)问题,同时也避免了未写大括号时的单一子句问题。试想,如果 C 语言的 if 语句后漏写大括号,而后面却跟着两个缩进的语句,结果会如何呢?毫无疑问,无论条件表达式是否成立,第二个语句总会被执行。这种问题很难调试,不知困惑了多少程序员。

5. 同一行书写多个语句(;)

Python允许将多个语句写在同一行上,语句之间用分号隔开,而这些语句也不能在这行开始一个新的代码块。例如:


a=10; b=20; print(a+b)


但必须指出,同一行上书写多个语句,会使代码的可读性大大降低。Python 虽然允许这样做,但并不提倡这么做。

6. 模块

每个Python 脚本文件均可视为一个模块,它以磁盘文件的形式存在。如果一个模块规模过大,包含的功能太多,就应该考虑对该模块进行拆分,即拆出一些代码另外组建一个或多个模块。模块里的代码既可以是一段直接执行的脚本,也可以是一堆类似库函数的代码,从而可以被别的模块导入(import)后调用。模块可以包含直接运行的代码块、类定义、函数定义,或它们的组合。


Python程序设计实用教程(全国高等院校应用型创新规划教材·计算机系列)最新最全的试读、书评、目录、简介信息由Python中文网整理提供。