目录
第1章Python概述
1.1Python的诞生
1.2Python的特点
1.3Python的功能<p> </p> <p> </p> <p> </p> <p>目录</p> <p> </p> <p> </p> <p> </p> <p>第1章Python概述</p> <p> </p> <p>1.1Python的诞生</p> <p> </p> <p>1.2Python的特点</p> <p> </p> <p>1.3Python的功能</p> <p> </p> <p>1.3.1Python常规应用</p> <p> </p> <p>1.3.2Python在大数据时代下的应用</p> <p> </p> <p>1.4Python的安装与配置</p> <p> </p> <p>1.4.1在Windows中搭建Python开发环境</p> <p> </p> <p>1.4.2在MAC中搭建Python开发环境</p> <p> </p> <p>1.4.3在Linux中搭建Python开发环境</p> <p> </p> <p>1.5编辑器的选用</p> <p> </p> <p>1.5.1常见的编辑器</p> <p> </p> <p>1.5.2Python编辑器选用技巧</p> <p> </p> <p>1.6**个Python程序</p> <p> </p> <p>1.7注释</p> <p> </p> <p>1.8小结</p> <p> </p> <p>习题1</p> <p> </p> <p>第2章基础语法</p> <p> </p> <p>2.1标识符</p> <p> </p> <p>2.1.1标识符的概念</p> <p> </p> <p>2.1.2标识符的命名规则</p> <p> </p> <p>2.2变量</p> <p> </p> <p>2.2.1变量的定义</p> <p> </p> <p>2.2.2变量的应用实践</p> <p> </p> <p>2.3保留字</p> <p> </p> <p>2.4行与缩进</p> <p> </p> <p>2.4.1行</p> <p> </p> <p>2.4.2缩进规律详解</p> <p> </p> <p>2.5小结</p> <p> </p> <p>习题2</p> <p> </p> <p>第3章数据类型与运算符</p> <p> </p> <p>3.1数字</p> <p> </p> <p>3.2字符串</p> <p> </p> <p>3.3列表</p> <p> </p> <p>3.3.1列表的定义</p> <p> </p> <p>3.3.2列表使用详解</p> <p> </p> <p>3.4元组</p> <p> </p> <p>3.4.1元组的定义</p> <p> </p> <p>3.4.2元组使用详解</p> <p> </p> <p>3.4.3列表与元组的区别</p> <p> </p> <p>3.5字典</p> <p> </p> <p>3.6运算符实践</p> <p> </p> <p>3.7运算符优先级规律与使用技巧</p> <p> </p> <p>3.7.1运算符优先级规律</p> <p> </p> <p>3.7.2运算符使用技巧</p> <p> </p> <p>3.8小结</p> <p> </p> <p>习题3</p> <p> </p> <p>第4章条件控制与循环结构</p> <p> </p> <p>4.1程序执行流程概述</p> <p> </p> <p>4.2if语句详解</p> <p> </p> <p>4.2.1几种常见的if语句格式及使用</p> <p> </p> <p>4.2.2if语句的嵌套使用</p> <p> </p> <p>4.3while语句详解</p> <p> </p> <p>4.4for语句详解</p> <p> </p> <p>4.5循环的中断</p> <p> </p> <p>4.5.1break语句</p> <p> </p> <p>4.5.2continue语句</p> <p> </p> <p>4.6小结</p> <p> </p> <p>习题4</p> <p> </p> <p>第5章迭代与生成</p> <p> </p> <p>5.1迭代器概述</p> <p> </p> <p>5.2迭代器常见使用</p> <p> </p> <p>5.3可迭代对象</p> <p> </p> <p>5.4自定义迭代器类</p> <p> </p> <p>5.5生成器概述与工作流程</p> <p> </p> <p>5.6生成器表达式</p> <p> </p> <p>5.7小结</p> <p> </p> <p>习题5</p> <p> </p> <p>第6章函数与模块</p> <p> </p> <p>6.1函数概述</p> <p> </p> <p>6.2函数的定义与调用</p> <p> </p> <p>6.2.1函数的定义</p> <p> </p> <p>6.2.2函数的调用</p> <p> </p> <p>6.3函数参数的传递与使用</p> <p> </p> <p>6.3.1形参与实参</p> <p> </p> <p>6.3.2参数的传递</p> <p> </p> <p>6.4函数返回值</p> <p> </p> <p>6.5变量作用域与变量类型</p> <p> </p> <p>6.6匿名函数</p> <p> </p> <p>6.7模块概述</p> <p> </p> <p>6.8Python自带模块</p> <p> </p> <p>6.9自定义模块详解</p> <p> </p> <p>6.10小结</p> <p> </p> <p>习题6</p> <p> </p> <p>第7章类与对象</p> <p> </p> <p>7.1面向对象编程概述</p> <p> </p> <p>7.1.1面向过程编程与面向对象编程</p> <p> </p> <p>7.1.2面向对象编程的特点</p> <p> </p> <p>7.2类</p> <p> </p> <p>7.2.1类的概念</p> <p> </p> <p>7.2.2类的创建</p> <p> </p> <p>7.3对象</p> <p> </p> <p>7.3.1对象的概念</p> <p> </p> <p>7.3.2对象的创建</p> <p> </p> <p>7.4构造方法与析构方法</p> <p> </p> <p>7.4.1构造方法详解</p> <p> </p> <p>7.4.2析构方法详解</p> <p> </p> <p>7.5小结</p> <p> </p> <p>习题7</p> <p> </p> <p>第8章继承</p> <p> </p> <p>8.1子类与父类</p> <p> </p> <p>8.2单继承</p> <p> </p> <p>8.3多继承</p> <p> </p> <p>8.4小结</p> <p> </p> <p>习题8</p> <p> </p> <p>第9章正则表达式</p> <p> </p> <p>9.1正则表达式概述</p> <p> </p> <p>9.2原子</p> <p> </p> <p>9.3元字符</p> <p> </p> <p>9.4贪婪模式与懒惰模式</p> <p> </p> <p>9.5模式修正符</p> <p> </p> <p>9.6正则表达式函数</p> <p> </p> <p>9.7小结</p> <p> </p> <p>习题9</p> <p> </p> <p>第10章数据库操作实践</p> <p> </p> <p>10.1数据库操作概述</p> <p> </p> <p>10.2MySQL数据库与SQL语句基础</p> <p> </p> <p>10.2.1MySQL数据库服务器的安装</p> <p> </p> <p>10.2.2SQL语句基础</p> <p> </p> <p>10.3Python操作MySQL数据库实践</p> <p> </p> <p>10.3.1数据库的连接</p> <p> </p> <p>10.3.2使用Python执行SQL语句</p> <p> </p> <p>10.4Python操作SQLite3数据库实践</p> <p> </p> <p>10.5小结</p> <p> </p> <p>习题10</p> <p> </p> <p>第11章文件操作</p> <p> </p> <p>11.1文件操作概述</p> <p> </p> <p>11.2目录操作实践</p> <p> </p> <p>11.3如何读取文件</p> <p> </p> <p>11.4如何写入文件</p> <p> </p> <p>11.5如何删除文件</p> <p> </p> <p>11.6小结</p> <p> </p> <p>习题11</p> <p> </p> <p>第12章异常处理技巧</p> <p> </p> <p>12.1Python异常概述</p> <p> </p> <p>12.2如何抛出一个异常</p> <p> </p> <p>12.3自定义异常</p> <p> </p> <p>12.4异常处理及技巧</p> <p> </p> <p>12.5小结</p> <p> </p> <p>习题12</p> <p> </p> <p>第13章12306火车票查询与自动订票项目实践</p> <p> </p> <p>13.1火车票查询与自动订票项目功能分析</p> <p> </p> <p>13.2火车票查询与自动订票项目实现思路</p> <p> </p> <p>13.3火车票余票自动查询功能的实现</p> <p> </p> <p>13.4Cookie处理实践</p> <p> </p> <p>13.5自动登录12306及验证码处理实践</p> <p> </p> <p>13.6自动获取个人**页面信息实践</p> <p> </p> <p>13.7自动订票功能的实现——订单自动提交实践</p> <p> </p> <p>13.8自动订票功能的实现——订单自动确认实践</p> <p> </p> <p>13.9完整代码</p> <p> </p> <p>13.10调试与运行</p> <p> </p> <p>13.11小结</p> <p> </p> <p>思考与扩展</p> <p> </p> <p>第14章2048小游戏项目实战</p> <p> </p> <p>14.12048小游戏项目介绍</p> <p> </p> <p>14.22048小游戏项目开发思路</p> <p> </p> <p>14.3实战编写2048小游戏项目基本代码结构</p> <p> </p> <p>14.4编写初始化方法与数字随机生成功能</p> <p> </p> <p>14.5棋盘与棋盘数据输出功能的实现</p> <p> </p> <p>14.6左滑与左滑合并功能的实现</p> <p> </p> <p>14.7右滑与右滑合并功能的实现</p> <p> </p> <p>14.8上滑与上滑合并功能的实现</p> <p> </p> <p>14.9下滑与下滑合并功能的实现</p> <p> </p> <p>14.10游戏按键监听功能的实现</p> <p> </p> <p>14.11编写主控程序</p> <p> </p> <p>14.12完善输赢判定与得分输出功能</p> <p> </p> <p>14.13完整代码</p> <p> </p> <p>14.142048小游戏的调试与运行</p> <p> </p> <p>14.15小结</p> <p> </p> <p>14.16思考与扩展</p> <p> </p>显示全部信息前 言
前言
1. 关于本书
Python是一门非常简洁优美的编程语言,不管读者是否有编程基础,都可以很快地入门Python。
同时,Python还是一门近乎“全能”的编程语言,比如,我们可以使用Python进行数据采集,也可以使用Python进行Web开发,还可以使用Python进行数据分析与挖掘,进行量化投资分析,进行自动化运维等。<p> </p> <p>前言</p> <p> </p> <p> </p> <p>1. 关于本书</p> <p>Python是一门非常简洁优美的编程语言,不管读者是否有编程基础,都可以很快地入门Python。</p> <p>同时,Python还是一门近乎“全能”的编程语言,比如,我们可以使用Python进行数据采集,也可以使用Python进行Web开发,还可以使用Python进行数据分析与挖掘,进行量化投资分析,进行自动化运维等。</p> <p>所以,总的来说,Python是一门非常容易入门,并且功能非常强大的编程语言。我们可能会听到“人生苦短,我用Python”之类的说法,这样的说法也是不无道理的,因为我们使用Python进行编程,不管是从学习的角度,还是从项目开发的角度来说,都可以节约很多时间。</p> <p>千里之行,始于足下。</p> <p>如果要使用Python进行常规项目的开发,或者应用到各个不同的领域(比如数据采集、Web开发、数据挖掘等),必须首先掌握好Python编程的基础,只有扎实地掌握好Python编程基础之后,才能够更灵活地将Python运用于各方面。</p> <p>正如本书的名字一样,这本书只讲Python的基础编程方面的知识,关于Python在各领域更多的应用方面的知识,将在本系列图书的后面几本书中分别详细介绍。</p> <p>如果对Python有些了解的朋友,会知道Python目前有Python 2.x和Python 3.x的版本。并且Python 2.x与Python 3.x的编程规则在很多地方都有变动(这一点跟其他编程语言不太一样),也就是说Python 2.x与Python 3.x版本的承接性不是太好,考虑到Python 2.x比较稳定,Python 3.x比较新并且越来越成熟,各有各的优势,在笔者综合考虑之后,本书一律采用Python 3.x进行写作。</p> <p>本书的主要特点是: 系统化、实战化。</p> <p>笔者一直坚信,其实学习任何知识都不难,关键是要集中一段时间沉下心去系统地学习相关的知识,如果零散地学习各知识点,事实上会让你越学越感到迷茫,如果系统地学习,构建好自己的知识体系,会让你事半功倍。所以,建议你拿到一本书的时候,首先要做的事情是熟悉目录,因为相关的知识点基本上在目录中就有体现,熟悉目录的目的,是让你在心中初步建立一套知识体系,再学习的时候至少知道学到哪了,接下来会学什么。同时,当以后你遇到新的知识点,而本书没有讲到的时候,你完全可以将相关知识点添加到你的知识体系中的某个合适位置,这样,非常有利于对整个知识系统进行全局的把控。如果坚持建立知识体系的习惯,就会逐渐培养出全局意识出来,同时也会发现掌握知识会快很多,此外还有很多好处大家都会逐渐感受到。</p> <p>其次,这本书每章都会结合具体的编程实例进行讲解,并尽量对编程实例的安排把握由浅入深、层层递进的原则,让大家可以更好地接受,建议一定要把相关的代码自己动手敲一遍,并且如果基础不算太好,*好能够合上书,在理解的基础上默写敲一遍,这样,可以让你以后运用代码能力更强,说白了就是将现实世界的需求转化为代码的编程能力更强。</p> <p>总之,系统化、实战化这两点也希望大家能够运用在其他各种知识的学习上,持之以恒,一定可以让你的学习能力变得更强。</p> <p>综上,本书是一本定位于Python初学者,主要对Python基础知识进行实战讲解的书籍,如果你想零基础入门Python,系统掌握Python基础编程的知识,为后续将Python运用在各领域的开发打下基础,那么,本书将适合你。</p> <p>2. 本书目标读者</p> <p> Python初学者; </p> <p> 高校计算机专业学生; </p> <p> 编程爱好者; </p> <p> 其他对Python感兴趣的人员。</p> <p>3. 如何阅读本书</p> <p>第1~3章主要介绍Python基本概述与基础编程方面的内容,包括Python基本介绍、Python开发环境搭建、Python基础语法、数据类型与运算符方面的内容。</p> <p>第4章主要介绍Python的几种典型控制结构,事实上,控制结构在编程中非常重要,对于这一部分内容建议**掌握,要求掌握得非常熟练,尤其是循环结构部分。</p> <p>第5章和第6章主要介绍Python中稍微复杂一些的基础知识,包括迭代与生成、函数、模块等基础知识。</p> <p>第7章和第8章主要介绍Python面向对象编程方面的知识,对于这一部分的知识尽量用了比较通俗的案例进行讲解,希望大家可以更好地掌握,因为后续如果想做一些大型的项目,常常会用面向对象的编程思想去编程。</p> <p>第9~12章主要介绍Python基础中的一些提升部分的知识,主要包括正则表达式、数据库操作、文件操作、异常处理等,这一部分的知识事实上我们在实际项目中会常常遇到,用得非常多,是基础提升的关键部分。</p> <p>第13章主要为大家介绍一个火车票查询与自动订票的项目,主要目的是希望读者可以运用之前学过的基础知识完成这个项目,将基础知识运用于项目开发实践。</p> <p>第14章主要介绍了一个2048小游戏项目,主要目的是希望读者可以通过此2048小游戏项目,熟练掌握Python的基础知识,将Python基础知识融会贯通,并完成一个好玩的小游戏项目,培养综合运用知识的能力。</p> <p>通过这14章的学习,目的是希望读者可以对Python基础有一个全面的掌握,同时,书中涉及的代码,希望读者可以自己手动输入一遍,这样可以更好地掌握相关知识。</p> <p>4. 勘误与支持</p> <p>由于作者水平有限,书中难免有一些疏漏或不准确的地方,恳请各位读者不吝指正。</p> <p>相关建议可以通过微博@韦玮pig或微信公众平台正版韦玮(可以直接扫描*下方二维码添加)进行反馈,也可以直接向邮箱ceo@iqianyue.com发送邮件(标题请注明一下: 勘误反馈-书名),期待能够收到各位读者的意见和建议,欢迎来信。</p> <p>5. 致谢</p> <p>感谢清华大学出版社魏江江主任与编辑贾斌老师,是他们的鼓励与支持,才让我有了将这本书坚持写下去的毅力。</p> <p>感谢CSDN、51CTO与天善智能,因为有他们,让我在这个领域获得了更多的学员与支持。</p> <p>感谢很久以来一直支持我的学员们,平时公司的工作也比较忙,如果没有他们一直以来的支持,在业余时间去完成这么多课程的录制以及书籍的写作,确实太难,是他们的支持与包容,给予了我在这个领域一直走下去的动力,���常感谢大家!</p> <p>特别感谢我的女友,因为编写这本书,少了很多陪她的时间,感谢她的不离不弃与理解,同时,也感谢她帮我完成书稿的校对工作,谢谢她的付出与支持。</p> <p>特别感谢远方的父母、叔叔、姐姐、爷爷,也特别感谢所有支持我的朋友们,谢谢!</p> <p>6. 配套资源下载</p> <p>所有配套源代码大家可以通过以下微信公众平台下载,在“配套资源”菜单处即有本书相关源代码的下载链接,同时,勘误与建议也可以直接在此发送反馈。</p> <p> </p> <p> </p> <p> </p>显示全部信息免费在线读第5章迭代与生成
在后续编程的时候,我们可能还会遇到一种名叫迭代器的容器对象,在本章中,将会为大家介绍迭代器与生成器两种容器对象,事实上,生成器是一种迭代器,在以下内容中,我们将会具体介绍。
5.1迭代器概述
迭代器有时也称为游标,可以由可迭代对象转化而来,是一种支持以next()方法依次取出可迭代对象中各元素的一种东西,当取完可迭代对象中的元素的时候,会引发一个停止迭代的异常。比如,之前我们学习过列表,列表是一种可迭代对象,所以我们可以使用iter()作用于列表从而转化为一个迭代器。之前我们学习过列表里面元素的遍历方法,我们来复习一下:
a=["Python","PHP","R","Ruby"]
for i in range(0,len(a)):
print(a[i])
比如,如上的程序是遍历列表里面元素的其中一种方法,此时,由于列表是一种可迭代对象,所以,也可以直接使用迭代器访问列表里面的元素,如下所示:
a=["Python","PHP","R","Ruby"]
a2=iter(a)
next(a2)
'Python'
next(a2)
'PHP'
next(a2)