网站首页 软件下载 游戏下载 翻译软件 电子书下载 电影下载 电视剧下载 教程攻略
书名 | Python 3.8从零开始学 |
分类 | 人文社科-社会科学-语言文字 |
作者 | 刘宇宙,刘艳编 |
出版社 | 清华大学出版社 |
下载 | ![]() |
简介 | 作者简介 刘宇宙,大数据与人工智能开发工程师,从业8年,先后供职于上海海鼎、广州棒谷等公司,目前供职于深圳Bello智能科技有限公司,担任不错工程师及效率与运维负责人,从事人工智能研发。先后从事过卡系统研发、云计算IaaS研发、物联网研发、网络爬虫研发,对Python有深入研究。出版畅销书《Python 3.5从零开始学》(清华大学出版社,2017),长期在靠前知名IT技术网站CSDN发表原创博文。 目录 章 走进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 0章 日期和时间 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 1章 正则表达式 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 2章 文件操作 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 3章 多线程 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 4章 发送和接收电子邮件 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 5章 网络编程 305 15.1 初识网络编程 305 15.2 TCP/IP简介 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 6章 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 7章 操作数据库 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 8章 网络爬虫项目实战 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 9章 自然语言分词与词频统计项目实战 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 3.8 实际开发的重要知识点,内容包括:Python语言的数据类型、运算符、数据结构、字符串、控制流、函数、序列、多线程、正则表达式、面向对象编程、文件操作、网络编程、邮件收发、数据库操作等,提供网络爬虫、自然语言处理、区块链项目和图片处理项目范例,各章还安排了调试、问题解答、温故知新、牛刀小试等特色内容,以帮助读者学会处理程序异常、解答学习困惑,巩固知识,学以致用。本书通俗易懂,示例丰富,代码可读性及可操作性强,很好适合Python初学者、想学习和了解Python 3.8的程序员使用,也可作为Python网课、培训及大专院校的教学用书。 |
随便看 |
|
霍普软件下载网电子书栏目提供海量电子书在线免费阅读及下载。