新書推薦:
《
奶奶的半个心愿 “课本里的作家” 中考热点作家孙道荣2024年全新散文集
》
售價:HK$
41.8
《
天生坏种:罪犯与犯罪心理分析
》
售價:HK$
97.9
《
新能源材料
》
售價:HK$
63.8
《
传统文化有意思:古代发明了不起
》
售價:HK$
43.8
《
无法从容的人生:路遥传
》
售價:HK$
74.8
《
亚述:世界历史上第一个帝国的兴衰
》
售價:HK$
107.8
《
大处着眼:持久战与《论持久战》
》
售價:HK$
85.8
《
人工智能与大数据:采煤机智能制造
》
售價:HK$
96.8
|
編輯推薦: |
如果你从未接触编程,或想入手学习Python编程,我强烈推荐你看这本书,因为这是一本完全可以让你看懂并学会的编程书,同时还可以让你得到意外的收获。我认为这本书的主要特色和优点有如下几个:
1. 看得懂,学得会
这是一本面向初学者的Python编程书,为使读者能够看懂、学会,编者使用了通俗易懂的语言和丰富的代码示例,并借助生活中的小事例进行描述,一些看起来复杂的问题也尽可能以简单的形式展现出来,多了些生动,少了些枯燥,不仅学习起来轻松愉快,而且能够充分感受到Python的魅力。
2. 想读者所想,贴心的内容安排
学编程唯动手练习才能见到成效,本书在内容设计上特别重视讲练结合,注重实践,不仅精心设计了大量示例代码,还在各章穿插了项目演练牛刀小试,以煅炼读者的程序设计能力。自学编程往往会遇到很多困惑,半途而废并不鲜见,考虑到这一点,编者还特别设计了程序调试、问题解答、温故知新、学以致用等栏目,助力读者少走弯路,快速上手。
3. 技术新颖的项目实战
通过项目实践学习编程可以巩固知识,提升技能,应对开发工作中的实际需求,因此本书还设计了爬虫项目、自然语言处理项目、区块链开发和图片处理
|
內容簡介: |
本书由资深人工智能工程师专门针对Python新手量身定做,涵盖Python 3.8 实际开发的重要知识点,内容包括:Python语言的数据类型、运算符、数据结构、字符串、控制流、函数、序列、多线程、正则表达式、面向对象编程、文件操作、网络编程、邮件收发、数据库操作等,提供网络爬虫、自然语言处理、区块链项目和图片处理项目范例,各章还安排了调试、问题解答、温故知新、牛刀小试等特色内容,以帮助读者学会处理程序异常、解答学习困惑,巩固知识,学以致用。 本书通俗易懂,示例丰富,代码可读性及可操作性强,非常适合Python初学者、想学习和了解Python 3.8的程序员使用,也可作为Python网课、培训及大专院校的教学用书。
|
關於作者: |
刘宇宙,大数据与人工智能开发工程师,从业8年,先后供职于上海海鼎、广州棒谷等公司,目前供职于深圳Bello智能科技有限公司,担任高级工程师及效率与运维负责人,从事人工智能研发。先后从事过卡系统研发、云计算IaaS研发、物联网研发、网络爬虫研发,对Python有深入研究。出版畅销书《Python 3.5从零开始学》(清华大学出版社,2017),长期在国内知名IT技术网站CSDN发表原创博文。
|
目錄:
|
第1章 走进Python 3.8的精彩世界 1
1.1 Python的起源 1
1.2 Python的应用场合 2
1.3 从2.7到3.8,Python的新特性 4
1.3.1 Python 2.x和Python 3.x的区别 4
1.3.2 Python 3.8的新特性 6
1.4 如何学习Python 6
1.5 Python开发环境构建 7
1.5.1 在Windows系统中安装Python 7
1.5.2 在Linux、UNIX系统和Mac中
安装Python 11
1.5.3 其他版本 12
1.6 从Hello World开始 12
1.7 调试 13
1.8 问题解答 14
1.9 温故知新,学以致用 14
第2章 Python编程基础 16
2.1 认识程序 16
2.1.1 程序 16
2.1.2 调试 17
2.1.3 语法错误南辕北辙 18
2.1.4 运行错误突然的停止 18
2.1.5 语义错误答非所问 18
2.2 数据类型 19
2.2.1 整型 19
2.2.2 浮点型 21
2.2.3 复数 22
2.2.4 数据类型转换 22
2.2.5 常量 23
2.3 变量和关键字 24
2.3.1 变量 24
2.3.2 变量名称 27
2.3.3 Python关键字 28
2.4 语句 29
2.5 表达式 30
2.6 运算符和操作对象 31
2.6.1 什么是运算符和操作对象 31
2.6.2 算术运算符 32
2.6.3 比较运算符 33
2.6.4 赋值运算符 34
2.6.5 位运算符 35
2.6.6 逻辑运算符 36
2.6.7 成员运算符 37
2.6.8 身份运算符 37
2.6.9 运算符的优先级 38
2.7 字符串操作 40
2.8 注释 43
2.9 牛刀小试九九乘法表逆实现 44
2.10 调试 44
2.11 问题解答 45
2.12 温故知新,学以致用 45
第3章 列表和元组 47
3.1 通用序列操作 48
3.1.1 索引 48
3.1.2 分片 50
3.1.3 序列相加 54
3.1.4 乘法 54
3.1.5 成员资格 55
3.1.6 长度、最小值和最大值 56
3.2 列表 57
3.2.1 更新列表 57
3.2.2 嵌套列表 63
3.2.3 列表方法 64
3.3 元组 73
3.3.1 tuple函数 74
3.3.2 元组的基本操作 74
3.3.3 元组内置函数 76
3.4 列表与元组的区别 77
3.5 牛刀小试实现杨辉三角 78
3.6 调试 79
3.7 问题解答 81
3.8 温故知新,学以致用 81
第4章 字符串 83
4.1 字符串的简单操作 83
4.2 字符串格式化 85
4.2.1 经典的字符串格式化符号
百分号(%) 85
4.2.2 元组的字符串格式化 87
4.2.3 format字符串格式化 90
4.2.4 f字符串格式化 90
4.2.5 f-string字符串格式化 91
4.3 字符串方法 92
4.3.1 split方法 92
4.3.2 strip方法 93
4.3.3 join方法 93
4.3.4 find方法 94
4.3.5 lower方法 95
4.3.6 upper方法 96
4.3.7 replace方法 97
4.3.8 swapcase方法 97
4.3.9 translate方法 98
4.4 牛刀小试变形金刚 99
4.5 调试 99
4.6 问题解答 100
4.7 温故知新,学以致用 100
第5章 字典和集合 102
5.1 字典的使用 102
5.2 创建和使用字典 103
5.2.1 dict函数 104
5.2.2 字典的基本操作 105
5.2.3 字典和列表比较 107
5.3 字典方法 108
5.3.1 get方法 108
5.3.2 keys方法 109
5.3.3 values方法 109
5.3.4 key in dict方法 110
5.3.5 update方法 110
5.3.6 clear方法 111
5.3.7 copy方法 112
5.3.8 fromkeys方法 112
5.3.9 items方法 113
5.3.10 setdefault方法 113
5.4 集合 114
5.4.1 创建集合 115
5.4.2 集合方法 116
5.5 牛刀小试字典合并与排序 117
5.6 调试 118
5.7 问题解答 118
5.8 温故知新,学以致用 119
第6章 条件、循环和其他语句 120
6.1 使用文本编辑器 120
6.2 import的使用 122
6.2.1 import语句 122
6.2.2 使用逗号输出 125
6.3 别样的赋值 125
6.3.1 序列解包 126
6.3.2 链式赋值 127
6.3.3 增量赋值 127
6.4 语句块 128
6.5 条件语句 128
6.5.1 布尔变量的作用 128
6.5.2 if语句 130
6.5.3 else子句 131
6.5.4 elif子句 131
6.5.5 嵌套代码块 132
6.5.6 更多操作 132
6.5.7 断言 135
6.6 循环 135
6.6.1 while循环 136
6.6.2 for循环 137
6.6.3 循环遍历字典元素 139
6.6.4 迭代工具 139
6.6.5 跳出循环 141
6.6.6 循环中的else子句 143
6.7 pass语句 144
6.8 牛刀小试猜字游戏编写 145
6.9 Python程序调试 146
6.10 问题解答 146
6.11 温故知新,学以致用 147
第7章 函数 148
7.1 调用函数 148
7.2 定义函数 150
7.3 函数的参数 152
7.3.1 必须参数 153
7.3.2 关键字参数 153
7.3.3 默认参数 154
7.3.4 可变参数 157
7.3.5 组合参数 158
7.3.6 仅通过位置指定的参数 159
7.4 执行流程 160
7.5 形参和实参 161
7.6 变量的作用域 162
7.6.1 局部变量 162
7.6.2 全局变量 164
7.7 有返回值和无返回值函数 166
7.8 为什么要引入函数 167
7.9 返回函数 167
7.10 递归函数 170
7.11 匿名函数 172
7.12 偏函数 174
7.13 牛刀小试经典排序之快速排序
实现 175
7.14 调试 176
7.15 问题解答 177
7.16 温故知新,学以致用 177
第8章 面向对象编程 179
8.1 理解面向对象 179
8.1.1 什么是面向对象编程 179
8.1.2 面向对象编程常用术语 180
8.2 类的定义与使用 180
8.2.1 类的定义 180
8.2.2 类的使用 181
8.3 深入类 182
8.3.1 类的构造方法 182
8.3.2 类的访问权限 185
8.4 继承 190
8.5 多态 193
8.6 封装 196
8.7 多重继承 197
8.8 获取对象信息 199
8.9 类的专有方法 201
8.10 牛刀小试一出行建议 205
8.11 牛刀小试二判断一棵树是否为
二叉搜索树 207
8.12 调试 208
8.13 问题解答 209
8.14 温故知新,学以致用 209
第9章 异常 211
9.1 什么是异常 211
9.2 异常处理 212
9.3 抛出异常 213
9.4 捕捉多个异常 214
9.5 使用一个块捕捉多个异常 215
9.6 捕捉对象 216
9.7 全捕捉 216
9.8 异常中的else 217
9.9 自定义异常 218
9.10 finally子句 219
9.11 异常和函数 220
9.12 牛刀小试正常数和异常数 221
9.13 bug的由来 222
9.14 温故知新,学以致用 223
第10章 日期和时间 224
10.1 日期和时间 224
10.1.1 时间戳 224
10.1.2 时间格式化符号 225
10.1.3 struct_time元组 226
10.2 time模块 226
10.2.1 time函数 226
10.2.2 strftime函数 228
10.2.3 strptime函数 228
10.2.4 localtime函数 229
10.2.5 sleep函数 229
10.2.6 gmtime函数 230
10.2.7 mktime函数 230
10.2.8 asctime函数 231
10.2.9 ctime函数 231
10.2.10 三种时间格式转化 232
10.3 datetime模块 232
10.4 日历模块 236
10.5 牛刀小试时间大杂烩 237
10.6 调试 241
10.7 温故知新,学以致用 242
第11章 正则表达式 243
11.1 认识正则表达式 243
11.2 re模块 245
11.2.1 re.match函数 245
11.2.2 re.search方法 246
11.2.3 re.match与re.search的区别 246
11.3 贪婪模式和非贪婪模式 247
11.4 替换 248
11.5 编译 249
11.6 牛刀小试匹配比较 249
11.7 温故知新,学以致用 250
第12章 文件操作 251
12.1 打开文件 251
12.1.1 文件模式 253
12.1.2 缓存 253
12.2 基本文件方法 254
12.2.1 读和写 254
12.2.2 读写行 257
12.2.3 关闭文件 258
12.2.4 文件重命名 259
12.2.5 删除文件 259
12.3 对文件内容进行迭代 260
12.3.1 按字节处理 260
12.3.2 按行操作 261
12.3.3 使用fileinput实现懒加载式
迭代 261
12.3.4 文件迭代器 262
12.4 StringIO函数 262
12.5 序列化与反序列化 263
12.5.1 一般序列化与反序列化 263
12.5.2 JSON序列化与反序列化 264
12.6 牛刀小试批量更改文件名 266
12.7 调试 267
12.8 问题解答 267
12.9 温故知新,学以致用 267
第13章 多线程 269
13.1 线程和进程 269
13.1.1 进程 269
13.1.2 线程 270
13.1.3 多线程与多进程 270
13.2 使用线程 271
13.2.1 全局解释器锁 271
13.2.2 退出线程 272
13.2.3 Python的线程模块 272
13.3 _thread模块 272
13.4 threading模块与Thread类 275
13.4.1 threading模块 275
13.4.2 Thread类 275
13.5 线程同步 279
13.6 线程优先级队列 281
13.7 线程与进程比较 283
13.7.1 线程切换 283
13.7.2 计算密集型与IO密集型 284
13.7.3 异步IO 284
13.8 牛刀小试多线程简单爬虫 285
13.9 调试 286
13.10 问题解答 286
13.11 温故知新,学以致用 287
第14章 发送和接收电子邮件 288
14.1 电子邮件介绍 288
14.2 发送邮件 290
14.2.1 SMTP发送邮件 290
14.2.2 发送HTML格式的邮件 292
14.2.3 发送带附件的邮件 293
14.2.4 发送图片 294
14.2.5 同时支持HTML和Plain
格式 296
14.2.6 加密SMTP 297
14.3 POP3接收邮件 298
14.3.1 POP3下载邮件 298
14.3.2 解析邮件 299
14.4 牛刀小试邮件发送通用化 300
14.5 调试 303
14.6 问题解答 304
14.7 温故知新,学以致用 304
第15章 网络编程 305
15.1 初识网络编程 305
15.2 TCPIP简介 306
15.3 网络设计模块 307
15.3.1 socket简介 307
15.3.2 socket模块 307
15.3.3 socket对象(内建)方法 309
15.4 TCP编程 310
15.4.1 客户端编程 310
15.4.2 服务器编程 312
15.5 UDP编程 316
15.6 urllib模块 318
15.6.1 GET请求 318
15.6.2 POST请求 319
15.7 牛刀小试模拟浏览器 320
15.8 调试 321
15.9 问题解答 322
15.10 温故知新,学以致用 322
第16章 GUI编程 323
16.1 GUI简介 323
16.1.1 常用GUI库简介 323
16.1.2 安装tkinter 324
16.2 概念介绍 324
16.2.1 窗口和控件 324
16.2.2 事件驱动处理 325
16.2.3 布局管理器 325
16.3 tkinter的控件 325
16.3.1 Button控件 326
16.3.2 Checkbutton控件 327
16.3.3 Label控件 329
16.3.4 Text控件 329
16.3.5 Menu控件 330
16.4 tkinter组合控件 332
16.5 牛刀小试计算器开发 334
16.6 调试 338
16.7 问题解答 339
16.8 温故知新,学以致用 339
第17章 操作数据库 340
17.1 数据库介绍 340
17.2 Python数据库API 341
17.2.1 全局变量 341
17.2.2 异常 342
17.2.3 连接和游标 342
17.2.4 类型 344
17.3 数据库操作 344
17.3.1 数据库连接 344
17.3.2 创建数据库表 345
17.3.3 数据库插入 346
17.3.4 数据库查询 347
17.3.5 数据库更新 348
17.3.6 数据库删除 349
17.4 事务 350
17.5 调试 351
17.6 问题解答 351
17.7 温故知新,学以致用 352
第18章 网络爬虫项目实战 353
18.1 了解爬虫 353
18.2 爬虫的原理 354
18.3 爬虫常用的几种技巧 354
18.3.1 基本方法 354
18.3.2 使用代理服务器 355
18.3.3 Cookie处理 355
18.3.4 伪装成浏览器 356
18.3.5 登录 356
18.4 爬虫示例抓取豆瓣电影Top250
影评数据 357
18.4.1 确定URL格式 357
18.4.2 页面抓取 357
18.4.3 提取相关信息 358
18.4.4 写入文件 359
18.4.5 完善代码 359
18.5 项目小结 362
第19章 自然语言分词与词频统计
项目实战 363
19.1 概念介绍 363
19.1.1 SQLAlchemy简介 363
19.1.2 pyecharts简介 364
19.1.3 jieba分词库简介 364
19.1.4 BeautifulSoup库简介 364
19.2 库的安装与使用 364
19.2.1 SQLAlchemy的安装与使用 365
19.2.2 pyecharts的安装与使用 366
19.2.3 jieba分词库的安装与使用 366
19.2.4 BeautifulSoup的安装与使用 367
19.3 分词与词频统计实战 368
19.3.1 整体结构设计 368
19.3.2 数据结构设计 369
19.3.3 数据的爬取与保存 369
19.3.4 制定关键词库 371
19.3.5 词频统计与图表生成 372
19.4 分词与词频统计完整代码实现与
结果查看 373
19.5 项目小结 380
第20章 区块链项目实战 381
20.1 区块链简介 381
20.1.1 区块链的定义 381
20.1.2 区块链的特点 382
20.1.3 区块链应用行业及领域 382
20.2区块链代码结构设计 382
20.2.1 环境准备 382
20.2.2 代码结构设计 382
20.3 区块链具体逻辑实现 384
20.3.1 块结构 384
20.3.2 加入交易 385
20.3.3 创建新块 385
20.3.4 工作量证明的理解 386
20.3.5 工作量证明的实现 387
20.4 API接口层开发 387
20.4.1 发送交易 388
20.4.2 挖矿 388
20.4.3 返回整个区块链 389
20.5 运行区块链 389
20.6 分布式实现 391
20.6.1 注册节点 391
20.6.2 实现共识算法 391
20.7 完整项目代码与执行 393
20.8 项目小结 405
第21章 图片处理项目实战 406
21.1 图片处理基本库简介 406
21.2 读取图片大小 409
21.3 图片完好性检测 411
21.4 相同图片检测 412
21.5 项目小结 417
附录A 418
A.1 数学函数 418
A.2 随机函数 418
A.3 三角函数 419
A.4 Python字符串内建函数 419
A.5 列表方法 421
A.6 字典内置方法 421
A.7 正则表达式模式 421
|
內容試閱:
|
Python是一种使你在编程时能够保持自己风格的程序设计语言,Python可以使用清晰易懂的程序来实现想要的功能。如果你之前没有任何编程经历,那么既简单又强大的Python就是你入门的完美选择。
伴随着国家对人工智能发展的全面支持与鼓励、国际上对人工智能的重视以及国家教育部将Python加入高考科目,使得Python在中国的使用范围迅速扩大;另外,随着区块链、人工智能、大数据、云计算等技术的迅速崛起,市场对Python人才的需求让长期沉默的Python语言一下子备受众人的关注,本书可以说是应运而生。本书是以Python 3.8版本编写而成的,对于想学习和了解Python 3.8的读者,推荐阅读本书。
本书的特色
本书专门针对Python新手量身定做,是编者学习和使用Python开发过程中的体会和经验总结,涵盖实际开发中重要的知识点,内容详尽,代码可读性及可操作性强。
本书主要介绍Python语言的数据类型、运算符、数据结构、字符串、控制流、函数、序列、多线程、正则表达式、面向对象编程、文件操作、网络编程、邮件收发、数据库操作等,并安排了网络爬虫、自然语言处理、区块链项目和图片处理项目范例,各章还安排了调试、问题解答、温故知新、牛刀小试等特色内容,以帮助读者学会处理程序异常,解决学习中的困惑,巩固知识,学以致用。
本书的另一个特色是,使用通俗易懂的描述和丰富的示例代码,并结合日常生活中的一些小事件,使本书读起来生动有趣,把复杂的问题以简单的形式展现出来,使读者学起来很轻松,充分感受到学习Python编程的乐趣和魅力。
本书的内容
本书共分21章,各章内容安排如下:
第1章主要介绍Python的起源、应用场合、前景以及Python 3.8的一些新特性。
第2章主要介绍Python的基础知识,为后续学习相关内容做铺垫。
第3章重点介绍列表和元组。
第4章重点介绍字符串的格式化、分割、搜索等方法。
第5章介绍字典和集合。
第6章从import语句开始,逐步深入介绍条件语句、循环语句以及列表等一些更深层次的语句。
第7章主要介绍函数,函数是组织好的、可重复使用的、用来实现单一或相关联功能的代码段。
第8章主要介绍Python面向对象编程的特性,Python从设计之初就是一门面向对象的编程语言,它提供一些语言特性支持面向对象编程。
第9章将带领读者学习如何处理各种异常,以及创建和自定义异常。
第10章将具体讲解Python中日期和时间的使用。
第11章主要介绍正则表达式的基本使用。
第12章主要介绍如何使用Python在硬盘上创建、读取和保存文件。
第13章主要介绍Python中的多线程编程。
第14章主要介绍如何使用Python语言发送和接收邮件。
第15章重点介绍Python在网络编程方面的特性。
第16章重点介绍Python的图形化编程GUI编程。
第17章重点介绍在Python 3中使用PyMySQL连接数据库,并实现简单的增、删、改、查。
第18章根据前面所学的内容讲解一个爬虫的实战项目。
第19章结合爬虫、分词、词频统计等知识点实现自然语言的分词和词频统计。
第20章以当下很火的区块链做一个完整的Python实现。
第21章迎合当前比较火热的计算机视觉领域,引入图片处理的一些基本知识点。
读者对象
Python 3.x初学者。
想学习和了解Python 3.8的程序员。
Python网课、培训机构、中学及大专院校的学生。
本书源码与教学视频下载
本书提供了源代码和Python入门教学视频,读者可扫描右方的二维码获取。
如果在下载过程中出现问题,请电子邮件联系booksaga@126.com,邮件主题为Python 3.8从零开始学。
致谢
本书在写作过程中遇到了很多困难以及写作方式上的困惑,好在如今是信息互联的时代,让笔者有机会参阅很多相关信息,也让很多困难得以较好地解决。本书在写作过程中参考了一些相关资料,主要包括《Python基础教程(第2版)》《笨办法学 Python(第4版)》《像计算机科学家一样思考Python》、《编写高质量代码 改善Python程序的91个建议》、《Python源码剖析》、廖雪峰的博客以及W3C等。在此,对这些资料的编者表示真诚的感谢。
在本书交稿之际,感谢清华大学出版社的王金柱编辑,在本书编写的过程中,王编辑给予了很多指导和修改意见。最后,感谢家人和朋友在写作期间给予的安静写作环境,让笔者不被更多琐事打扰,从而专心于写作。感谢你们,没有你们的帮助与关心,本书不能如期完成。
最后感谢读者们的鼓励和支持,正因为有你们不断指出不足、不断提出问题与意见,才使本书更臻完美。
刘宇宙
2020年1月
|
|