? 专为零基础入门读者打造,中学生、文科生也能轻松掌握? 语言通俗幽默,案例贴近生活,努力贴在地上“接地气”? 附赠23小时语音教学视频和大量案例代码资源,作者“在线等”答疑
内 容 简 介本书采用简单直白的语言、生动的比喻,循循善诱、深入浅出地介绍了Python的基本知识和有关应用方式。~第8章介绍了Python的基础知识,内容包括Python简介、Python的下载与安装、Python自带开发工具IDLE的使用、编程有关专业词汇和概念、Python中的基本数据类型、Python中的流程控制、Python的函数与模块;第9~6章介绍了编程的进阶知识,内容包括面向对象编程、文件操作、数据库操作、错误与异常处理、测试与调试、GUI图形界面编程、并发编程、网络编程等;7~第20章通过4个综合案例讲解Python的实战应用;第21章介绍了专业开发环境Pycharm的使用。
王春杰,技术博主(微博@Python),网络作家(笔名“春天杰作”),微博签约自媒体人。拥有十余年Web开发、网络推广等互联网行业经验,熟悉Python、C、PHP等编程语言技术。曾在教育培训机构工作多年,目前创业中,主要从事网络与软件开发、自媒体运营,以及Python编程技术的推广和培训等工作。
目 录章 人生苦短,我用Python!——Python简介1.1 英明的决定 11.2 做一点准备 71.2.1 安装Python就这么简单 71.2.2 工欲善其事,IDLE 111.3 终于要开始写代码了,好嗨哟! 121.3.1 个Python程序:Hello world! 131.3.2 举一反三:随便Hello点啥 15第2章 热身运动——了解一些基本概念2.1 来点儿变化:变量 172.1.1 变量的赋值与使用 182.1.2 变量命名规则 202.1.3 Python中的变量只是一个标签 212.2 互动起来:输出与输入 232.2.1 内置函数简介 232.2.2 输出print() 242.2.3 输入input() 262.3 无规矩不成方圆:注释与编码规则 272.3.1 注释 272.3.2 缩进与空行 312.3.3 参考PEP8 322.4 物以类聚:Python数据类型简介 342.4.1 六种基本数据类型简介 342.4.2 数据类型的判断 352.4.3 容器、序列、迭代、可迭代对象 362.4.4 布尔值 37第3章 数字和数学并不可怕——数据类型之数字3.1 数字虽多,不过三类 393.1.1 整数 393.1.2 浮点数 413.1.3 复数 413.1.4 eval()函数与exec()函数 423.1.5 进制与进制转换 433.2 小学数学都学过——运算符与表达式 443.2.1 算数运算符 453.2.2 比较运算符 463.2.3 赋值运算符 473.2.4 逻辑运算符 483.2.5 各种运算符的混合使用与优先级 483.3 再也不用怕数学了:数学函数与math模块 493.3.1 数学函数 493.3.2 math模块 503.3.3 random模块 533.3.4 案例:做一个机选彩票的程序 54第4章 字符串也是一种“串儿”——数据类型之字符串4.1 字符串是一种什么串儿? 554.1.1 字符串的三种形式 554.1.2 字符串的索引 584.1.3 字符串的判断 594.1.4 转义字符与原始字符串 604.2 字符串的N种“食用方法” 624.2.1 字符串的切片 624.2.2 字符串的运算 644.2.3 处理字符串的有关函数 674.2.4 字符串的有关方法 684.2.5 字符串的格式化输出 714.3 正则表达式 714.3.1 正则表达式基础 724.3.2 正则表达式的应用 734.3.3 re模块 754.3.4 案例:验证手机号是否合法 77第5章 让程序更听话——流程控制与if分支5.1 送你一根指挥棒:流程控制简介 785.2 随机应变:if分支 805.2.1 if分支的几种结构 805.2.2 if结构的嵌套 845.2.3 多个if与多个elif的区别 865.2.4 pass语句 87第6章 一句顶一万句——循环6.1 初学编程我写了一万行代码,后来我学会了用循环 906.1.1 for循环结构 906.1.2 range()函数 926.1.3 break与continue 936.1.4 使用for循环遍历列表和字典 946.1.5 for循环嵌套 946.2 更“聪明”的while循环 956.2.1 while循环结构 956.2.2 while循环与else配合使用 976.2.3 在while循环中使用break 986.2.4 在while循环中使用continue 986.2.5 小心死循环 996.2.6 while循环嵌套 1006.2.7 用while循环实现一个猜数字游戏 1016.2.8 while循环和for循环混合使用 1026.2.9 while循环与for循环之比较 103第7章 我们也是有组织的——列表、元组、集合、字典7.1 列车就是一列车,列表就是一列表 1047.1.1 创建列表 1047.1.2 列表的索引 1057.1.3 列表的切片 1057.1.4 列表的遍历 1067.1.5 列表元素的修改、插入与删除 1067.1.6 列表的复制 1077.1.7 列表元素的判断 1087.1.8 列表的嵌套 1097.1.9 二维列表的遍历 1107.1.10 列表的运算 1107.1.11 操作列表的有关函数 1117.1.12 列表的有关方法 1127.1.13 列表解析式与生成器表达式 1147.2 比列表“顽固”的元组 1157.2.1 元组的创建 1167.2.2 元组的索引、切片、删除、复制、遍历 1167.2.3 元组的运算与判断 1177.2.4 操作元组的有关函数 1187.2.5 元组的有关方法 1197.2.6 二维元组 1207.3 字典,就像你用过的字典 1207.3.1 字典的创建 1217.3.2 字典元素的访问 1217.3.3 字典元素的修改、添加与删除 1227.3.4 字典的遍历 1237.3.5 字典的嵌套与二维字典 1247.3.6 操作字典的有关函数 1257.3.7 字典的有关方法 1267.3.8 深复制与浅复制 1277.3.9 用字典实现多重分支 1287.4 集合:搞搞关系 1297.4.1 集合的创建 1297.4.2 集合的遍历、判断与删除 1297.4.3 集合的关系判断和运算 1307.4.4 操作集合的有关函数 1317.4.5 集合的有关方法 132第8章 掌握核心科技——函数与模块8.1 自制工具:自定义函数 1358.1.1 函数的定义与调用 1358.1.2 形参、实参、位置参数、关键字参数 1368.1.3 参数的默认值 1378.1.4 传递多个参数 1388.1.5 传递列表或字典作为参数 1398.1.6 函数的返回值 1408.1.7 用函数实现一个猜数字游戏 1408.1.8 变量的作用域 1418.1.9 函数的嵌套 1428.1.10 递归函数 1438.1.11 匿名函数:lambda表达式 1458.1.12 高阶函数:map()、filter() 1458.1.13 闭包 1468.1.14 装饰器 1478.2 工具箱:模块 1498.2.1 将自定义函数存储为模块 1498.2.2 模块的导入与使用 1508.2.3 if__name__=="__main__": 152第9章 单身狗的渴望——面向对象编程9.1 物以类聚,人以群分 1549.1.1 创建一个类 1549.1.2 实例化一个对象 1569.1.3 访问、修改类和对象的属性与方法 1579.1.4 封装:私有属性和私有方法 1599.1.5 继承:祖传秘方 1619.1.6 多继承与多重继承 1639.1.7 多态:各自表述 1659.1.8 将类存储为模块 1669.1.9 类模块的使用 1679.2 模块、包、库,傻傻分不清楚? 1679.2.1 包的创建与使用 1679.2.2 模块、包、库的区别 1689.2.3 Python标准库 1699.3 给各种包找个管家:pip 1699.3.1 pip的使用环境 1699.3.2 包的安装与升级 1709.3.3 包的查询与卸载 1710章 让鼠标休息一会儿——文件操作10.1 文件读写 17310.1.1 文件的打开、读取与关闭 17310.1.2 文件的逐行读取与部分读取 17410.1.3 查看指针位置与修改指针位置 17610.1.4 写入文件内容 17710.2 os模块 17810.2.1 目录操作 17910.2.2 文件操作 18010.2.3 Linux系统下的权限操作 18310.3 shutil模块 1831章 让我们一起囤积数据吧——数据库操作11.1 数据库 18711.1.1 数据库简介 18711.1.2 SQL语句简介 18911.1.3 DB-API简介 19111.2 Python操作SQLite数据库 19411.2.1 sqlite3模块的使用 19411.2.2 数据表的创建、改名与数据的添加 19511.2.3 数据的查询、修改与删除 19711.2.4 查看表信息与删除表 19911.3 Python操作MySQL数据库 20211.3.1 下载安装MySQL 20211.3.2 使用mysql.connector模块操作MySQL数据库 2112章 人非圣贤,孰能无过——错误与异常处理12.1 错误与异常 21512.1.1 错误与常见错误 21512.1.2 异常类 21812.2 异常处理 22012.2.1 异常的获取与处理 22112.2.2 使用raise语句自主抛出异常 22312.2.3 使用自定义异常类 2243章 是骡子是马拉出来遛遛——调试与测试13.1 调试 22613.1.1 简单的调试方法 22613.1.2 IDLE自带调试工具的使用 22813.2 测试 23313.2.1 单元测试与测试用例 23313.2.2 unittest模块的使用 2344章 程序也要面子——GUI编程14.1 GUI简介 23714.2 Python内置GUI模块:Tkinter 23814.2.1 使用Tkinter模块创建一个界面程序 23814.2.2 窗口、控件、事件、事件处理函数 23914.2.3 控件布局方式 24814.3 案例:图形版猜数字游戏 2555章 人多力量大——并发编程15.1 进程与线程 25715.1.1 并发与并行 25715.1.2 多进程与多线程 25815.1.3 同步、异步、阻塞、非阻塞 25915.2 多进程的使用 26015.2.1 创建和调用子进程 26115.2.2 通过继承Process类来创建多个进程 26315.2.3 通过进程池Pool来创建多进程 26315.2.4 进程间通信 26515.3 多线程的使用 26615.3.1 使用treading模块创建多线程 26615.3.2 通过实例化Thread类来创建线程 26715.3.3 线程池 26715.3.4 线程间通信 26815.3.5 线程安全 2696章 三天打鱼 天天上网——网络编程16.1 网络基础 27016.1.1 网络的硬件基础 27016.1.2 网络模型 27116.1.3 网络协议 27216.1.4 域名、DNS、URL 27316.1.5 客户端与服务器 27416.1.6 Socket与socket模块 27416.2 Web入门 27616.2.1 超文本与超链接 27616.2.2 超文本标记语言:HTML 27716.2.3 HTTP请求 28016.3 网络模块:urllib 28116.3.1 request模块 28116.3.2 error模块 28316.3.3 parse模块 28416.3.4 robotparser模块 2857章 实战项目一:让Python当你的工作助手17.1 批量处理图片 28717.1.1 pillow库简介 28717.1.2 案例:批量调整图片大小 29017.2 读写Word文档 29317.2.1 python-docx库简介 29317.2.2 文档写入操作 29417.2.3 文档合并操作 29717.3 处理Excel 29917.3.1 openpyxl库 29917.3.2 操作Excel表格 3008章 实战项目二:这个虫子有点牛——网络爬虫开发18.1 网络爬虫简介 30318.1.1 网络爬虫基本原理 30318.1.2 网络爬虫的“规矩”——Robots协议 30418.2 requests库 30518.2.1 requests库的常用方法 30618.2.2 用requests库爬取一个简单网页 30718.3实战:爬取百度图片 3109章 实战项目三:你的游戏你做主——小游戏开发19.1 Pygame库 31819.1.1 Pygame库简介 31819.1.2 Display模块 32119.1.3 Surface模块 32219.1.4 图形对象的常用方法 32619.2 案例:制作一个贪吃蛇游戏 327第20章 实战项目四:确认过眼神,我遇见对的人——AI人脸识别20.1 人工智能简介 33420.2 开放平台与API接口 33620.3 案例:一个人脸识别与打分项目——Python看脸 34020.3.1 Access Token 34020.3.2 Base64编码 34120.3.3 json数据格式 34420.3.4 案例:Python看脸 345第21章 工欲善其事,换个IDE?——PyCharm21.1 PyCharm 34921.1.1 PyCharm下载与安装 34921.1.2 次使用PyCharm 35421.2 用PyCharm写一个聊天程序 363