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