新書推薦:
《
瘦肝
》
售價:HK$
99.7
《
股票大作手回忆录
》
售價:HK$
55.8
《
秩序四千年:人类如何运用法律缔造文明(世界重归混乱,文明岌岌可危,法律与秩序是我们仅有的武器。穿越时间,鸟瞰全球,一部波澜壮阔的人类文明史)
》
售價:HK$
154.6
《
民法典1000问
》
售價:HK$
99.7
《
国术健身 易筋经
》
售價:HK$
33.4
《
古罗马800年
》
售價:HK$
188.2
《
写出心灵深处的故事:踏上疗愈之旅(修订版)(创意写作书系)
》
售價:HK$
66.1
《
控制权视角下的家族企业管理与传承
》
售價:HK$
87.4
|
編輯推薦: |
上手门槛低,8岁的小朋友Charlie亲验,不但可以看懂书中关于Python语法的基础知识,且写出了自己的小程序。
覆盖的知识面广,知识体系完备、系统,再也不用面向百度编程。
案例实战性强,涉及大数据展示、网络爬虫、游戏等Python热点应用领域,求职不再难。
110道练习题面试题与习题答案,编程图书不仅是用来看的,还需要动手操练,知行合一,方为get一门技能的真经。
过万小时线下授课经验锤炼出的大师级讲解能力,将深奥的原理用浅显的比喻表达出来,一学就懂,一看就会。
诱惑十足的增值服务,作者提供用于学习和交流的配套网站及作者亲自在线的答疑微信群、QQ群。
|
內容簡介: |
《疯狂Python讲义》既是一本适合初学者入门Python的图书(一个8岁的小朋友在未出版前已学习了本书很多章节并动手写出了自己的程序);这也是一本适合Python就业的图书,因为本书涵盖了网络编程、数据分析、网络爬虫等大量企业实用的知识。
《疯狂Python讲义》全面而深入介绍了Python编程的相关内容,全书内容大致可分为四个部分,*部分系统讲解了Python的基本语法结构、Python的函数编程、Python的类和对象、模块和包、异常处理等核心语法;第二部分主要介绍Python常用的内置模块和包,这部分包括Python的JSON、正则表达式支持、容器相关类、collections包、Tkinter GUI编程、IO编程、数据库编程、并发编程、网络通信编程等内容,这部分内容既是掌握Python编程的核心,也是Python进阶的关键基础;第三部分主要介绍Python开发工程化方面的内容,包括如何为Python程序编写符合格式的文档注释、提取文档注释生成帮助文档,为Python程序编写测试用例,程序打包等内容;第四部分则属于Python项目实战,这部分引入了pygame、Matplotlib、Pygal、Scrapy这些第三方的包,通过项目介绍了Python游戏开发、大数据展示、网络爬虫等热门技能,尤其是网络爬虫和大数据展示,*是当下Python至热的就业岗位。《疯狂Python讲义》既是一本适合初学者入门Python的图书(一个8岁的小朋友在未出版前已学习了本书很多章节并动手写出了自己的程序);这也是一本适合Python就业的图书,因为本书涵盖了网络编程、数据分析、网络爬虫等大量企业实用的知识。
《疯狂Python讲义》全面而深入介绍了Python编程的相关内容,全书内容大致可分为四个部分,*部分系统讲解了Python的基本语法结构、Python的函数编程、Python的类和对象、模块和包、异常处理等核心语法;第二部分主要介绍Python常用的内置模块和包,这部分包括Python的JSON、正则表达式支持、容器相关类、collections包、Tkinter GUI编程、IO编程、数据库编程、并发编程、网络通信编程等内容,这部分内容既是掌握Python编程的核心,也是Python进阶的关键基础;第三部分主要介绍Python开发工程化方面的内容,包括如何为Python程序编写符合格式的文档注释、提取文档注释生成帮助文档,为Python程序编写测试用例,程序打包等内容;第四部分则属于Python项目实战,这部分引入了pygame、Matplotlib、Pygal、Scrapy这些第三方的包,通过项目介绍了Python游戏开发、大数据展示、网络爬虫等热门技能,尤其是网络爬虫和大数据展示,*是当下Python至热的就业岗位。
与疯狂体系图书类似,虽然我会尽量让《疯狂Python讲义》的讲解通俗易懂(毕竟一个8岁的小朋友也能阅读此书),但我创作疯狂体系图书的初衷从来就不是简单和入门,本书所覆盖的Python的深度和广度,是很多书籍所不能比拟的,《疯狂Python讲义》涉及大量实用案例开发:五子棋游戏、画图板、桌面弹球、合金弹头、大数据展示、基于网络的各国GDP对比、基于爬虫的招聘热点分析、基于爬虫的高清图片下载、基于Scrapy Seleninum的微博登录设计这些案例的初衷不是简单和入门,而是让读者学以致用、激发编程自豪感,进而引爆内心的编程激情。因此那些仅图简单的读者,建议不要选择此书。《疯狂Python讲义》课后习题共包括110道循序渐进的Python练习题(面试题),读者可通过这些练习题巩固所学、为面试做准备。如果读者需要获取关于课后习题的解决方法、编程思路,可以登录http:www.crazyit.org站点或关注疯狂图书微信服务号。
《疯狂Python讲义》为所有打算深入掌握Python编程的读者而编写,适合各种层次的Python学习者和工作者阅读,也适合作为大学教育、培训机构的Python教材。但如果只是想简单涉猎Python,则本书过于庞大,不适合阅读。
|
關於作者: |
李刚,十余年软件开发从业经验,疯狂软件教育中心教学总监。疯狂Java实训营创始人,疯狂Java体系原创图书作者。广东技术师范学院计算机科学系兼职副教授,CSDN特邀讲师。培训的学生已在腾讯、阿里、华为、IBM、网易、唯品会、电信盈科等名企就职。国内知名高端IT技术图书作家,已出版《疯狂Java讲义》《疯狂Android讲义》《轻量级Java EE企业应用实战》《疯狂前端开发讲义》《疯狂HTML5CSS3JavaScript讲义》《疯狂iOS讲义(基础篇)(提高篇)》《疯狂XML讲义》《经典JavaEE企业应用实战》《Struts 2.x quanwei指南》等著作。其中疯狂Java体系图书均已沉淀多年,赢得极高的市场认同,多次重印,多部著作印刷数量超过10万册,并被多所985211院校选作教材,部分图书已被翻译成繁体中文版,授权到中国台湾地区。
|
目錄:
|
第1章Python语言概述和开发环境1
1.1Python简介2
1.1.1Python简史2
1.1.2Python的特点3
1.2Python程序运行机制3
1.3开发Python的准备4
1.3.1在Windows上安装Python5
1.3.2在Linux上安装Python6
1.3.3在Mac OS X上安装Python7
1.4第一个Python程序8
1.4.1编辑Python源程序8
1.4.2使用IDLE运行Python程序8
1.4.3使用命令行工具运行Python程序9
1.5交互式解释器11
1.6本章小结12
本章练习12
第2章变量和简单类型13
2.1单行注释和多行注释14
2.2变量15
2.2.1Python是弱类型语言15
2.2.2使用print函数输出变量16
2.2.3变量的命名规则17
2.2.4Python的关键字和内置函数18
2.3数值类型19
2.3.1整型19
2.3.2浮点型21
2.3.3复数21
2.4字符串入门22
2.4.1字符串和转义字符22
2.4.2拼接字符串23
2.4.3repr和字符串23
2.4.4使用input和raw_input获取用户输入24
2.4.5长字符串25
2.4.6原始字符串26
2.4.7字节串(bytes)26
2.5深入使用字符串28
2.5.1转义字符28
2.5.2字符串格式化29
2.5.3序列相关方法31
2.5.4大小写相关方法32
2.5.5删除空白33
2.5.6查找、替换相关方法34
2.5.7分割、连接方法35
2.6运算符36
2.6.1赋值运算符36
2.6.2算术运算符37
2.6.3位运算符39
2.6.4扩展后的赋值运算符42
2.6.5索引运算符42
2.6.6比较运算符与bool类型42
2.6.7逻辑运算符44
2.6.8三目运算符45
2.6.9in运算符46
2.6.10运算符的结合性和优先级46
2.7本章小结47
本章练习47
第3章列表、元组和字典49
3.1序列简介50
3.1.1Python的序列50
3.1.2创建列表和元组50
3.2列表和元组的通用用法51
3.2.1通过索引使用元素51
3.2.2子序列51
3.2.3加法52
3.2.4乘法52
3.2.5in运算符53
3.2.6长度、最大值和最小值53
3.2.7序列封包和序列解包54
3.3使用列表55
3.3.1创建列表55
3.3.2增加列表元素56
3.3.3删除列表元素57
3.3.4修改列表元素58
3.3.5列表的其他常用方法59
3.4使用字典61
3.4.1字典入门61
3.4.2创建字典62
3.4.3字典的基本用法63
3.4.4字典的常用方法64
3.4.5使用字典格式化字符串67
3.5本章小结67
本章练习67
第4章流程控制68
4.1顺序结构69
4.2if分支结构69
4.2.1不要忘记缩进70
4.2.2不要随意缩进72
4.2.3不要遗忘冒号73
4.2.4if条件的类型73
4.2.5if分支的逻辑错误74
4.2.6if表达式75
4.2.7pass语句75
4.3断言76
4.4循环结构76
4.4.1while循环77
4.4.2使用while循环遍历列表和元组78
4.4.3for-in循环79
4.4.4使用for-in循环遍历列表和元组79
4.4.5使用for-in循环遍历字典80
4.4.6循环使用else81
4.4.7嵌套循环83
4.4.8for表达式84
4.4.9常用工具函数86
4.5控制循环结构87
4.6牛刀小试90
4.7本章小结98
本章练习98
第5章函数和lambda表达式101
5.1函数入门102
5.2函数的参数106
5.3局部函数118
5.4函数的高级内容119
5.5局部函数与lambda表达式122
5.6本章小结124
本章练习124
第6章类和对象125
6.1类和对象126
6.2方法132
6.3成员变量137
6.4隐藏和封装142
6.5类的继承144
6.6Python的动态性149
6.7多态153
6.8枚举类156
6.9本章小结159
本章练习159
第7章异常处理160
7.1异常概述161
7.2异常处理机制162
7.3使用raise引发异常171
7.4Python的异常传播轨迹175
7.5异常处理规则177
7.6本章小结179
本章练习179
第8章Python类的特殊方法180
8.1常见的特殊方法181
8.2与反射有关的属性和方法186
8.3与序列有关的特殊方法189
8.4生成器193
8.5运算符重载的特殊方法197
8.6本章小结205
本章练习205
第9章模块和包206
9.1模块化编程207
9.2加载模块212
9.3使用包219
9.4查看模块内容224
9.5本章小结226
本章练习226
第10章常见模块227
10.1sys228
10.2os模块231
10.3random234
10.4time235
10.5JSON支持238
10.6正则表达式244
10.7容器相关类256
10.8collections下的容器支持265
10.9函数相关模块273
10.10本章小结283
本章练习283
第11章图形界面编程285
11.1Python的GUI库286
11.2Tkinter GUI编程的组件287
11.3布局管理器293
11.4事件处理299
11.5Tkinter常用组件304
11.6对话框(Dialog)330
11.7菜单342
11.8在Canvas中绘图349
11.9本章小结371
本章练习371
第12章文件IO372
12.1使用pathlib模块操作目录373
12.2使用os.path操作目录379
12.3使用fnmatch处理文件名匹配380
12.4打开文件381
12.5读取文件383
12.6写文件391
12.7os模块的文件和目录函数393
12.8使用tempfile模块生成临时文件和临时目录398
12.9本章小结399
本章练习400
第13章数据库编程401
13.1Python数据库API简介402
13.2操作SQLite数据库404
13.3操作MySQL数据库417
13.4本章小结427
本章练习427
第14章并发编程428
14.1线程概述429
14.2线程的创建和启动431
14.3线程的生命周期434
14.4控制线程438
14.5线程同步440
14.6线程通信447
14.7线程池454
14.8线程相关类458
14.9多进程462
14.10本章小结470
本章练习470
第15章网络编程471
15.1网络编程的基础知识472
15.2Python的基本网络支持474
15.3基于TCP协议的网络编程486
15.4基于UDP协议的网络编程500
15.5电子邮件支持505
15.6本章小结511
本章练习512
第16章文档和测试513
16.1使用pydoc生成文档514
16.2软件测试概述519
16.3文档测试523
16.4单元测试525
16.5使用PyUnit(unittest)529
16.6本章小结540
本章练习540
第17章打包和发布541
17.1使用zipapp模块542
17.2使用PyInstaller生成可执行程序544
17.3本章小结547
本章练习547
第18章合金弹头548
18.1合金弹头游戏简介549
18.2pygame简介550
18.3开发游戏界面组件553
18.4增加角色566
18.5合理绘制地图575
18.6增加音效577
18.7增加游戏场景579
18.8本章小结583
本章练习583
第19章数据可视化584
19.1使用Matplotlib生成数据图585
19.2功能丰富的数据图597
19.3使用Pygal生成数据图606
19.4Pygal支持的常见数据图609
19.5处理数据617
19.6本章小结629
本章练习629
第20章网络爬虫630
20.1安装Scrapy631
20.2使用爬虫爬取、分析招聘信息634
20.3处理反爬虫646
20.4本章小结657
本章练习657
|
內容試閱:
|
前 言
创作本书纯属偶然,起因是我儿子想学编程。当他想报编程兴趣班时,居然没报上、满额了,而他是一个对生活充满好奇的小孩,望着他满是失落的眼睛,我想不如我来教吧,毕竟我曾经教了那么多别人的孩子。
我的想法是:挑一门上手足够容易的语言来教,毕竟他只是一个8岁的小孩。首先排除了Java和C,虽然我自己用这两种语言比较多,但对于小孩来说,上手它们显得有些枯燥;也考虑过Swift或Kotlin,能迅速带着做点手机小游戏比较酷,后来又觉得搭建运行环境有点费事;还是选一种能解释执行的脚本语言吧,我想到了Python或Ruby,后来又了解到那个兴趣班教的就是Python,那就选Python吧。
于是,他开始了自己的Python学习之旅。而我完全被困住了:每当他遇到一点问题就要来问我。这肯定不行,得找本书让他自己看,这样他就不用来烦我了。我是一个非常挑剔的人,找了不少书,却发现很少有合适的有些书上手简单,但完全没有按照Python本身的知识体系讲解,单纯地为了简单而简单;有些书略微系统一些,却讲得晦涩难懂。典型来说,仅仅一个变量的概念,几乎没有一本书能通俗地讲明白。实际上,初学者并不需要知道变量的概念定义,他只要把变量当成一个小的容器,懂得对变量赋值就是把东西装入变量即可。那么我还是自己写一本吧,毕竟我曾经为别人写了那么多书。
创作这本书时,我有两点考虑。
1. 讲解要尽量通俗,避免搞那些晦涩的概念
编程,首要的是能动手编,让简单的程序跑起来。动手编得多了,那些概念的意义自然就浮现出来了。就像一个外星人来到地球,从未见过桌子,找个人一直给他讲桌子的概念,要他务必先理解桌子的概念,外星人的感觉一定是非常困惑;尝试用不同的方法:找一堆桌子放在一起,一张桌子、一张桌子给他看,让他在桌子上写字、用电脑、吃饭,甚至把桌子拆开给他看,相信外星人很快就能理解什么是桌子了。对于编程初学者而言,他们何尝不是刚来到地球的外星人?
2. 知识体系要完善,而且遵循Python内在的逻辑
一直以来,我写的书通常比较厚、内容也比较多。这和我挑剔的个性有关:既然做一件事情,当然要尽力做好它;否则干脆别做。一门工业级的编程语言,它不是玩具,它本身有那么多的知识点。不管你学还是不学,编程语言本身的内容就在那里!不管作者写还是不写,编程语言本身的内容就在那里。我写书总会尽量做到够用,起码认真学完这本书之后,不会随便遇到一个编程问题就只能问百度。
既要有完备的知识体系,又要详细讲透这些内容,书的篇幅自然就多了。同样的知识内容,一本厚厚的、讲解细致的图书,和一本薄薄的、浮光掠影的图书,哪本更容易看懂?
在知识内容相同的前提下,如果看不懂一本内容丰富、讲解细致的书,看一本薄薄的、浮光掠影的图书反而能看懂?这完全没道理。
但有些读者确实这样说过,这一点我也能理解,存在鸵鸟心态的人,他并不是第一个:看不到的就当它不存在。有些书之所以薄,无非是两个知识点不讲:这也不讲,那也不讲!读者阅读的时候固然是轻松,因为内容少呀。就像学数学,如果只教一加一等于二,当然讲得简单、学得轻松;但等到真正做事时才发现:啊?还有二加三等于五?数学还有乘法?还有除法?然后发现这也不会,那也看不懂,后果就是遇到问题就上百度。这就是有些所谓的开发者,他们是面向百度编程的。这些开发者往往哀叹:做程序员太累了,一个问题往往要调半天甚至一天,其实他们根本不是调试,只是在找别人的代码、试别人的代码,运气好找到了合适的代码,问题就解决了;找不到合适的代码就只能哀叹了。
正因为基于以上两点考虑进行创作,因此初学者上手本书的门槛比较低,大部分读者都能迅速地通过学习本书内容写出自己的Python程序、运行自己的Python程序;但要坚持把本书学完也需要一定的毅力:书中内容确实比较多,而且后面内容更偏向实际应用开发。
编程图书不仅是用来看的,更是需要动手练的,正如先圣王阳明所倡导的:知行合一。学习本书需要读者认真练习书中每个示例程序,还需要读者认真完成全书在各章节后所配的110道Python练习题(面试题),如果读者需要获取关于课后习题的解决方法、编程思路,可以登录http:www.crazyit.org站点或关注疯狂图书微信公众号(拿出手机扫描封面勒口处的二维码)。
本书有什么特点
本书并不是一本简单的Python入门教材,虽然本书上手门槛很低,但本书的知识体系很丰富。总结起来,本书具有如下三个特点。
1. 讲解通俗,上手门槛低
创作本书的最初目的决定了本书的上手门槛,本书不会故弄玄虚地纠缠于晦涩的概念,而是力求用浅显易懂的比喻引出概念、用口语化的方式介绍编程、用清晰的逻辑解释思路。
为了降低读者阅读的难度,书中代码的注释非常详细,几乎每两行代码就有一行注释。本书所有程序中关键代码以粗体字标出,也是为了帮助读者能迅速找到这些程序的关键点。
2.案例驱动,引爆编程激情
本书不是知识点的铺陈,而是致力于将知识点融入实际项目的开发中,所以书中涉及大量Python案例:五子棋游戏、画图板、桌面弹球、合金弹头、大数据展示、各国人均GDP对比、基于爬虫的招聘热点分析、基于爬虫的高清图片下载、基于Scrapy Selenium的微博登录希望读者通过编写这些程序找到编程的乐趣。
3.知识体系完备,直面企业开发实战
虽然本书在讲解上力求简单,但本书内容并不简单,全书知识体系完备且系统,不仅全方位地覆盖Python语言本身的语法,而且覆盖大数据展示、爬虫等Python的热门技术,这些内容能带领读者直面企业开发实战。
本书写给谁看
如果你仅仅想对Python有所涉猎,那么本书并不适合你;如果小朋友有兴趣学习本书,可先引导他阅读本书前半部分;如果你想全面掌握Python编程,并使用Python解决大数据分析、网络爬虫等实际企业开发项目,那么你应该选择本书,并认真学完此书。希望本书能引爆你内心潜在的编程激情,让你废寝忘食。
2018-09-20
|
|