描述
开 本: 16开纸 张: 胶版纸包 装: 平装-胶订是否套装: 否国际标准书号ISBN: 9787121401435
★ 本书是不可多得的Python入门经典书籍
★ 作者具有多年Python编程经验及教学经验
★ 深知读者痛点:自己写代码经常无从下手
★ 本书知识结构经过精心设计直击以上痛点
★ 本着能懂、够用的原则用实例讲Python
★ 从入门到常用模块应用,层层递进
★ 每个知识点都配套了对应的练习案例
★ 内容经数万名学员及众多职业教育老师认可
★ 让你同时学会语法及应用方法和编程思路
★ 顺利开启Python编程之旅
本书主要面向Python初级用户,本着能懂、够用的原则,循序渐进,逐步揭示Python编程的核心语法与编程思想。主要知识点包括Python编程环境的搭建与配置、常用的数据类型、判断和循环语句、异常处理、函数的使用、文件操作、面向对象编程的用法、数据库操作、正则表达式、并行处理等。本书中包含丰富的代码案例,结合知识点进行讲解,力求做到让读者既掌握了语法,又学会了应用;另外,本书精讲编程思路。掌握Python语法并不难,初学者往往“看得懂别人的代码,但是自己写的时候又无从下手”,这是因为缺少编程思路,本书将带读者一起体验程序从构思到实现的过程。本书作者具有多年教学经验,深知新手入门学习过程中的疑惑。本书将尽量为读者答疑解惑,既讲理论,又有实践和思路。同时,本书将使用通俗的语言和生活中的案例解释专业术语,保证读者能看懂,又不失专业性。
第1章 管中窥豹 1
1.1 获取Python程序包 2
1.2 安装Python 2
1.2.1 源码包安装方式 2
1.2.2 二进制rpm包安装方式 3
1.3 配置IDE 4
1.4 运行Python代码的方式 12
1.4.1 使用交互式解释器 12
1.4.2 使用Python脚本 13
1.5 输入/输出 13
1.5.1 使用print语句输出内容到屏幕终端 13
1.5.2 使用input()内建函数获取用户的键盘输入 15
1.6 注释及文档字符串 16
1.6.1 通过注释为程序添加功能说明 16
1.6.2 使用文档字符串添加帮助信息 17
1.7 变量 19
1.7.1 变量定义的要求及推荐的命名方法 19
1.7.2 变量赋值 20
1.7.3 变量类型 22
1.8 语法结构 23
1.8.1 使用4个空格实现语句块缩进 23
1.8.2 使用续行符将一行代码分解到多行 23
1.8.3 使用分号将多行语句书写到同一行 24
1.8.4 配置Python交互解释器支持按Tab键补全 24
第2章 魔力数据 25
2.1 数字类型 26
2.1.1 基本数字类型 26
2.1.2 不同进制的整数数字表示方式 26
2.1.3 算术运算符 27
2.1.4 比较运算符 28
2.1.5 逻辑运算符 28
2.2 字符串 30
2.2.1 常用的定义字符串的方式 30
2.2.2 通过字符串切片获取字符或子串 31
2.2.3 字符串的拼接与重复 33
2.2.4 字符串成员关系判断 33
2.2.5 字符串方法 34
2.2.6 字符串格式化方法 37
2.2.7 利用原始字符串表达字面本身的含义 38
2.3 列表 39
2.3.1 定义列表 39
2.3.2 列表切片 40
2.3.3 列表方法 40
2.4 元组 43
2.4.1 定义元组 43
2.4.2 单元素元组注意事项 43
2.5 字典 44
2.5.1 定义字典 44
2.5.2 更新字典内容 44
2.5.3 字典方法 44
2.6 数据类型比较 46
2.6.1 数据存储模型 47
2.6.2 数据更新模型 47
2.6.3 数据访问模型 50
2.7 相关操作 50
2.7.1 获取对象“长度” 50
2.7.2 成员关系判定 51
第3章 方圆之规 52
3.1 判断语句 53
3.1.1 if基本判断语句 53
3.1.2 if-else扩展判断语句 54
3.1.3 if-elif-else多分支判断语句 55
3.1.4 利用条件表达式简化判断语句 56
3.1.5 应用案例:根据分数进行成绩分级 57
3.1.6 应用案例:编写石头剪刀布人机交互小游戏 59
3.2 while循环语句 63
3.2.1 基础语法结构 63
3.2.2 应用案例:从1累加到100 63
3.2.3 应用案例:猜数 64
3.2.4 应用案例:三局两胜的石头剪刀布游戏 65
3.2.5 通过break语句中断循环 66
3.2.6 通过continue语句跳过本次循环 67
3.2.7 应用案例:计算100以内所有的偶数之和 67
3.2.8 循环正常结束后执行else语句中的代码 68
3.2.9 应用案例:有限次数的猜数 69
3.3 for循环语句 70
3.3.1 基础语法结构 70
3.3.2 通过range()函数生成数字 71
3.4 列表解析 73
3.5 常用内建函数 74
3.6 综合运用 76
3.6.1 应用案例:九九乘法表 76
3.6.2 应用案例:斐波那契数列 78
3.6.3 应用案例:提取字符串 79
3.6.4 应用案例:为密码或验证码生成随机字符串 80
第4章 亡羊补牢 84
4.1 异常的基本概念 85
4.2 检测和处理异常 86
4.2.1 基础语法结构 86
4.2.2 利用异常参数保存异常原因 88
4.2.3 异常的else子句 89
4.2.4 finally子句 91
4.3 触发异常 91
4.3.1 利用raise语句主动触发异常 92
4.3.2 利用assert语句触发断言异常 92
第5章 重复利用 93
5.1 函数基础 94
5.1.1 函数的基本概念 94
5.1.2 调用函数 94
5.1.3 把函数的执行结果通过return返回 96
5.1.4 通过参数向函数传递需要处理的数据 99
5.1.5 位置参数 100
5.1.6 应用案例:改写生成随机字符串的代码 101
5.1.7 提供默认值的默认参数 103
5.2 模块基础 104
5.2.1 模块的基本概念 104
5.2.2 导入模块的常用方法 104
5.2.3 执行模块导入时的搜索路径 105
5.2.4 模块的导入特性 106
5.2.5 模块结构和代码布局 108
5.2.6 应用案例:模拟用户登录系统 109
5.3 函数进阶 114
5.3.1 变量作用域 114
5.3.2 参数注意事项 116
5.3.3 个数未知的参数 118
5.3.4 应用案例:简单的数学小游戏 120
5.3.5 lambda匿名函数 123
5.3.6 利用偏函数改造现有函数 126
5.3.7 递归函数 127
5.3.8 应用案例:递归列出目录内容 128
5.3.9 应用案例:快速排序 130
5.3.10 特殊函数:生成器 131
5.3.11 函数高级用法:闭包和装饰器 132
5.3.12 应用案例:计算函数运行时间 138
第6章 文件操作 141
6.1 文件操作基础 142
6.1.1 打开模式 142
6.1.2 读取文本文件的常用方法 143
6.1.3 应用案例:文件生成器 146
6.1.4 将字符串写入文件 147
6.1.5 非文本文件读写操作 148
6.1.6 通过with关键字打开文件 149
6.1.7 应用案例:复制文件 149
6.1.8 通过seek()方法移动文件指针 151
6.1.9 应用案例:unix2dos 153
6.1.10 应用案例:进度条动画 154
6.2 字符编码 155
6.3 time模块 158
6.3.1 time模块的常用方法 158
6.3.2 应用案例:根据时间取出文件内容 160
6.4 datetime模块 163
6.4.1 datetime模块的常用方法 163
6.4.2 应用案例:根据时间取出文件内容 164
6.5 pickle模块 165
6.5.1 pickle模块应用 165
6.5.2 应用案例:记账 166
6.6 shutil模块 170
6.7 os模块 172
6.8 hashlib模块 175
6.8.1 hashlib模块的使用方法 175
6.8.2 应用案例:计算文件的md5值 176
6.9 tarfile模块 177
6.9.1 tarfile模块的使用方法 177
6.9.2 应用案例:备份程序 178
第7章 面向对象 186
7.1 OOP基础 187
7.2 OOP常用编程方式之组合 190
7.3 OOP常用编程方式之继承 191
7.4 多重继承 193
7.5 “魔法”方法 195
第8章 数据仓库 197
8.1 案例需求分析 198
8.2 安装非标准模块的方法 200
8.3 通过PyMySQL模块操作MySQL数据库 200
8.4 通过SQLAlchemy操作关系型数据库 205
8.4.1 ORM 206
8.4.2 SQLAlchemy核心应用 207
8.4.3 SQLAlchemy操作数据 211
8.5 SQLite文件型数据库 220
第9章 正则表达 224
9.1 正则表达式与模式匹配 225
9.2 正则表达式的元字符 226
9.2.1 匹配单个字符 226
9.2.2 匹配一组字符 228
9.2.3 其他常用元字符 230
9.3 re模块 230
9.3.1 re模块的常用方法 230
9.3.2 应用案例:分析Web服务器的访问日志 232
第10章 并行处理 240
10.1 单进程单线程程序 241
10.2 通过os.fork()实现多进程编程 243
10.2.1 多进程编程基础 244
10.2.2 应用案例:多进程ping 247
10.3 多线程和threading模块 248
10.3.1 多线程编程基础 249
10.3.2 应用案例:多线程ping 250
10.4 通过Paramiko模块实现服务器远程管理 251
10.4.1 Paramiko应用基础 251
10.4.2 应用案例:服务器批量管理 253
第11章 网络互联 256
11.1 Socket模块 257
11.1.1 TCP服务器 258
11.1.2 应用案例:多线程TCP服务器 262
11.1.3 TCP客户端编程 264
11.1.4 UDP服务器编程 265
11.1.5 UDP客户端编程 267
11.2 urllib模块 268
11.2.1 urllib.request模块 268
11.2.2 urllib.error模块 271
11.2.3 应用案例:爬取图片 272
11.3 通过requests模块实现网络编程 274
11.3.1 JSON轻量级数据交换格式 274
11.3.2 requests.get方法 276
11.3.3 requests.post方法 279
信息时代早已来临,各行各业,甚至个人的办公和娱乐也早已离不开互联网,离不开信息技术。计算机的普及使得原本只有专业人员才需要掌握的技术“飞入寻常百姓家”。计算机编程就是这样一种技术,即使非IT专业人士也有通过编程提升工作效率的需求。
Python被公认为是“最适合入门学习的编程语言”,它的语法简洁,关键字少,掌握起来难度相对于其他编程语言更低一些。然而,Python并不是只能做一些“简单的工作”,Python已被广泛地应用在云计算、人工智能、自动化运维、自动化测试、数据分析、科学计算、网络爬虫等专业领域。全球各大公司也都把Python作为主要的开发语言。
本书主要面向Python初级用户,通过丰富的案例进行全面阐述。笔者具有多年教学经验,深知读者学习过程中的疑惑。本书将尽量解决读者学习过程中的痛点问题,既讲理论,又有实践和思路。同时,本书将使用通俗的语言和生活中的案例解释专业术语,保证读者能看懂,又不失专业性。
本书定位
本书的定位是Python编程入门书。
初学者学习的主要障碍一方面是代码量,另一方面是编程思路。所以本书:
? 一方面用丰富的代码案例,结合知识点进行讲解,做到让读者既掌握了语法,又学会了应用。
? 另一方面,本书还将精讲编程思路。掌握Python语法并不难,初学者往往“看得懂别人的代码,但是自己写的时候又无从下手”,这是因为缺少编程思路,本书将带读者一起体验程序从构思到实现的过程。
本书不是“从入门到精通的书”,不是一本“大部头”,让人望而却步。本着能懂、够用的原则,本书循序渐进,逐步揭示Python编程的核心语法与编程思想。
本书结构
第1章,介绍Python编程环境的搭建与配置。通过基本语法讲解、变量介绍及输入输出语句等,让读者初步领略Python的哲学思想:美胜丑、简胜繁、明胜暗。
第2章,介绍Python常用的数据类型,即字符串、数字、列表、元组和字典。同时,对这些数据类型进行比较,阐述它们的应用场景。
第3章,介绍if判断语句、for循环和while循环这3种应用最广泛的结构,还介绍如何实现判断、循环语句的嵌套。
第4章,介绍异常处理,通过try语句捕获程序运行过程中可能出现的异常,并给出补救代码,也给出通过raise和assert关键字自定义异常的方法。
第5章,详细介绍函数,包括函数的基本应用、变量作用域,也涉及递归函数、lambda匿名函数、闭包、装饰器等高级用法。
第6章,介绍文件操作。通过基础的文件操作方法,实现对str和bytes类型的文本进行读写;通过pickle存储器把任意数据对象写入文件,又能无损取出;通过os和shutil模块对文件进行复制、删除等操作;通过tarfile模块实现对文件的压缩和解压缩;通过hashlib实现文件的哈希值计算。
第7章,介绍面向对象编程的初级用法,涉及组合、继承、多重继承,讲解__init__、__str__、__call__等“魔法”方法。
第8章,介绍数据库操作。通过pymysql模块实现对MySQL数据库的增删改查,通过SQLAlchemy的ORM实现对任意关系型数据库的访问。
第9章,介绍正则表达式。首先介绍正则表达式如何匹配字符串,然后讲解Python如何通过正则表达式取出指定字符串。
第10章,介绍并行处理,涉及多进程与多线程的基础知识,将大任务切分为众多小任务并行执行,以提升编程效率。
第11章,介绍Python网络编程,涉及底层Socket模块,讲解网络编程原理,通过urllib、requests高级模块结合JSON获取网络资源。
Python是一门跨平台的语言,使用任何操作系统作为其开发环境均可。本书采用的是CentOS 7.4和Python 3.7.2。
当然,每个人都有自己的学习方法和经验,笔者水平亦有限,难免会有疏漏之处,欢迎广大读者提出宝贵意见和建议。
更多实例及资源请到博文视点官网下载。
致 谢
感谢我的妻子为家庭的辛苦付出,感谢女儿理解、配合父母的愿景并为之努力,同时为家庭带来了无数的欢乐。没有你们的支持与鼓励,我也无法完成此书。
感谢电子工业出版社有限公司的编辑董英老师。董英老师在出版方面给我提供了大量专业指导,使本书得以顺利出版。
感谢我的学生们。在授课过程中,我收集到了各种初学者的烦恼与问题,使得我在编写本书时,可以深刻地了解初学者的状态,写作更有针对性。
Python语法简洁,关键字少,是新手入门非常理想的一门语言。但是这并不意味着Python只能做简单的工作。Python是云计算、人工智能等前沿技术的核心工具,也广泛应用在数据分析、Web开发、爬虫、自动化测试等领域。千人千面,Python只有一面。掌握了Python,你将受益无穷。
本书作者具有多年Python编程经验,同时负责Python教学工作。本书是作者多年教学工作的经验总结,直击读者的痛点问题,可引导读者顺利开启Python编程之旅。
达内集团Python人工智能、网络安全教研总监 周华飞
从诞生之日起,Python就是科学计算和数据分析的重要工具,目前更是成为人工智能开发的不二选择,由此可见学习Python的重要性。张老师的这本《例解Python》就是带领大家打开Python编程之门的钥匙,书中的知识结构经过精心设计,从入门到高级应用,层层递进,每个知识点都配套了对应的练习案例,可以让读者学以致用。
达内集团云计算教研总监 丁明一
本书作者有多年讲授和使用Python的实践经验,从基本的字符、列表、字典和数据类型,到进阶的面向对象、数据库和网络互联,本书均有涉及,是一本不可多得的入门经典书籍。同时,本书列举了大量的应用案例,可以帮助读者由浅入深地领悟Python的精髓。
RedHat(红帽公司)资深讲师、RHCA考官 赵宗禹
张老师在Python领域潜心经营多年,功力深厚,项目经验丰富,而且其凭借多年的IT授课经验来编著此书,所以本书更是上乘佳作。本书从Python的基础讲起,章节设计合理,符合初学者的思维方式,应用层面也符合老手的阅读习惯,不失为一本“Python秘籍”。本书更是张老师在Python领域经验布道的佳作,可以让新手逐步成长为技术大咖。读者阅读此书,除了能在技术上有所收获,更能吸收全书中的实际应用经验。所谓“授人以鱼,不如授人以渔”,我更看重书中的经验心得,此处为张老师点赞。
光大科技有限公司技术专家 许成林
Python书籍很多,本书适合初学者,且真正经过用心思考。本书知识结构清晰,由浅入深,配合了大量的实用案例,通俗易懂,具有较强的实用性,让人受益匪浅。
作为一名从事互联网工作多年的“老司机”,同时作为一名热爱Python的人,我希望读者可以通过阅读本书并仔细练习书中精心准备的案例,享受Python开发带来的乐趣。接下来,让我们开始阅读吧!
金山云网络技术有限公司运维总监 韩德田
评论
还没有评论。