作者 |
丛书名 |
出版社 |
电子工业出版社 |
ISBN |
9787121413766 |
简要 |
简介 |
内容简介书籍计算机书籍 本书包括Python的语言基础(基础部分)和高级应用(提高部分)两方面内容,共14个项目。从Python的起源、发展、特性和优势开始,介绍了Python的安装和配置、数据类型、表达式和用户交互、流程控制、容器数据类型、文件操作及系统交互、函数等语言基础,并且内容由浅入深、循序渐进,逐步引入高级应用,包括面向对象编程、模块和程序打包、异常处理、图形用户界面编程、与数据库交互、网络编程、多线程和多进程、数据分析和数据可视化等。 |
目录 |
项目1 Python概述及安装、配置\t1 1.1 任务1 认识Python\t1 1.1.1 Python的起源和发展\t1 1.1.2 Python的特性和优势\t2 1.1.3 Python与云计算\t6 1.2 任务2 下载和安装Python\t6 1.2.1 Python版本差异\t6 1.2.2 Python虚拟机简介\t6 1.2.3 Python的下载\t7 1.2.4 在Windows环境下安装Python\t8 1.2.5 在Windows下配置Python环境\t9 1.3 任务3 熟悉开发工具的使用\t9 1.3.1 使用交互式解释器\t10 1.3.2 使用文本编辑器\t10 1.3.3 使用集成开发环境\t11 1.3.4 Python增强工具\t11 1.4 任务4 获取帮助和查看文档\t12 1.4.1 查看特定对象的可用操作\t12 1.4.2 文档字符串\t12 1.4.3 使用帮助函数\t13 1.4.4 使用文档\t13 1.5 小结\t13 1.6 习题\t14 项目2 数据类型、表达式和用户交互\t15 2.1 任务1 掌握Python数据类型\t15 2.1.1 基本数据类型\t15 2.1.2 容器数据类型\t16 2.2 任务2 掌握表达式和运算符\t17 2.2.1 数学运算符\t17 2.2.2 比较运算符\t18 2.2.3 赋值运算符\t18 2.2.4 位运算符\t19 2.2.5 身份运算符\t20 2.2.6 逻辑运算符\t20 2.2.7 运算符优先级\t20 2.3 任务3 了解Python代码的规范性要求\t21 2.3.1 合法的变量名\t21 2.3.2 转义字符\t22 2.3.3 编写注释\t22 2.3.4 变量注解\t23 2.3.5 行拆分与行拼接\t23 2.4 任务4 程序设计:模拟掷骰子\t24 2.4.1 初识模块\t24 2.4.2 掷骰子的实现\t24 2.5 任务5 初步了解Python中的对象\t24 2.5.1 工厂函数\t25 2.5.2 不可变对象\t25 2.5.3 可变对象\t25 2.6 任务6 了解Python程序的交互方法\t26 2.6.1 input()函数\t26 2.6.2 print()函数的一些特性\t26 2.6.3 格式化表达式\t27 2.6.4 其他相关函数\t27 2.6.5 任务:打印员工信息表\t28 2.7 小结\t28 2.8 习题\t29 项目3 流程控制\t30 3.1 任务1 了解代码块和程序框图\t30 3.1.1 代码块与缩进\t30 3.1.2 程序框图\t31 3.2 任务2 掌握分支结构\t32 3.2.1 单条件分支结构\t32 3.2.2 多条件分支结构\t33 3.2.3 嵌套的分支结构\t34 3.2.4 单句多条件和短路逻辑\t35 3.2.5 多个if代码块\t35 3.2.6 if语句的三目运算形式\t36 3.3 任务3 掌握循环结构\t36 3.3.1 while语句\t36 3.3.2 子任务:骰子模拟器\t38 3.3.3 子任务:输出九九乘法表\t38 3.3.4 break语句\t39 3.3.5 continue语句\t39 3.3.6 循环结构中的else语句\t39 3.3.7 pass语句\t40 3.4 任务4 掌握高级循环:for循环、列表 推导式及生成器\t40 3.4.1 for循环\t40 3.4.2 基于for循环的死循环\t42 3.4.3 列表推导式\t43 3.4.4 生成器\t44 3.5 小结\t45 3.6 习题\t45 项目4 容器数据类型:序列、字典和集合\t47 4.1 任务1 了解序列类型\t47 4.1.1 容器数据类型简介\t47 4.1.2 序列的索引和切片操作\t48 4.1.3 序列中的运算符重载\t49 4.2 任务2 了解列表和元组\t49 4.2.1 列表和元组\t49 4.2.2 列表常用方法\t50 4.2.3 列表和数据结构\t50 4.2.4 可变对象的复制\t52 4.2.5 元组\t54 4.3 任务3 了解字符串\t55 4.3.1 字符串简介\t55 4.3.2 字符串常用方法\t55 4.3.3 增强的格式化字符串方法\t57 4.3.4 方法和函数的链式调用\t59 4.3.5 Python代码中的字符编码\t60 4.3.6 数据编码\t61 4.3.7 子任务:基于控制台的计算器\t61 4.4 任务4 了解字典\t62 4.4.1 字典简介\t62 4.4.2 字典的创建和访问\t62 4.4.3 键必须是可哈希的\t64 4.4.4 字典相关方法\t64 4.4.5 子任务:员工信息系统\t65 4.5 任务5 了解集合\t66 4.5.1 集合简介\t66 4.5.2 可变集合和不可变集合\t67 4.6 小结\t68 4.7 习题\t68 项目5 文件操作及系统交互\t70 5.1 任务1 认识文件句柄对象\t70 5.1.1 文件的打开\t70 5.1.2 文件的读取\t71 5.1.3 文件指针操作\t72 5.1.4 文件的写入\t73 5.1.5 文件的缓冲\t73 5.2 任务2 掌握文件和的管理\t75 5.2.1 文件的复制\t75 5.2.2 文件的删除\t76 5.2.3 文件的属性获取\t76 5.2.4 文件的重命名\t78 5.2.5 的创建\t79 5.2.6 的删除\t79 5.2.7 与有关的其他操作\t80 5.2.8 系统命令的执行\t80 5.2.9 输入/输出重定向\t81 5.2.10 带有参数的源代码脚本执行方式\t82 5.2.11 子任务:文本替换程序\t82 5.3 任务3 掌握时间和日期的处理\t83 5.3.1 时间戳及时间元组\t83 5.3.2 格式化时间和日期\t84 5.3.3 程序运行时间控制\t85 5.3.4 日期的置换\t86 5.3.5 日期和时间的差值计算\t86 5.4 任务4 了解序列化\t87 5.4.1 序列化和反序列化\t87 5.4.2 JSON和JSON化\t88 5.5 任务5 基于文件存储的用户账户登录 功能\t88 5.5.1 程序功能设计\t89 5.5.2 程序实现\t89 5.6 小结\t91 5.7 习题\t91 项目6 函数\t92 6.1 任务1 掌握函数的定义和调用\t92 6.1.1 函数的定义和调用\t92 6.1.2 函数对象赋值\t94 6.1.3 位置参数\t94 6.1.4 关键字参数\t95 6.1.5 默认参数\t95 6.1.6 可变参数和关键字收集器\t97 6.1.7 参数组\t98 6.1.8 函数注解\t98 6.2 任务2 了解函数的高级特性和功能\t99 6.2.1 作用域和名称空间\t99 6.2.2 在函数中修改全局变量\t100 6.2.3 匿名函数\t101 6.2.4 用函数实现生成器\t101 6.2.5 子任务:重新实现xreadlines() 方法\t103 6.2.6 递归函数\t103 6.2.7 函数闭包\t105 6.2.8 装饰器\t105 6.3 任务3 掌握高阶函数\t107 6.3.1 什么是高阶函数\t107 6.3.2 map()函数\t108 6.3.3 reduce()函数\t108 6.3.4 filter()函数\t110 6.3.5 sorted()函数\t110 6.4 小结\t112 6.5 习题\t112 项目7 面向对象编程\t114 7.1 任务1 了解什么是面向对象编程\t114 7.1.1 面向对象思想\t114 7.1.2 对象和类\t114 7.1.3 封装\t115 7.2 任务2 掌握类和实例的语法规则\t115 7.2.1 类和对象的创建\t116 7.2.2 类的构造方法\t116 7.2.3 类方法及self参数\t116 7.2.4 类和对象的属性\t117 7.3 任务3 链表的实现\t117 7.3.1 链表的结构特征\t117 7.3.2 链表的创建和初始化\t118 7.3.3 链表的信息查询和数据查找\t119 7.3.4 为链表添加新节点\t119 7.3.5 删除节点\t121 7.4 任务4 掌握类的深度定制\t121 7.4.1 为对象添加属性和方法\t122 7.4.2 静态方法\t122 7.4.3 类方法\t123 7.4.4 静态属性\t123 7.4.5 类属性\t124 7.4.6 私有字段\t125 7.4.7 私有方法\t126 7.4.8 标准类\t127 7.4.9 对象的销毁与回收\t127 7.5 任务5 掌握类的继承和派生\t128 7.5.1 父类和子类\t128 7.5.2 继承\t128 7.5.3 覆盖方法\t129 7.5.4 多重继承\t130 7.5.5 钻石问题和经典类\t130 7.5.6 新式类的其他特性\t131 7.5.7 super类\t131 7.6 任务6 了解类的其他特性和功能\t132 7.6.1 抽象类和抽象方法\t132 7.6.2 动态定义类\t133 7.6.3 运算符重载\t134 7.6.4 子任务:链表的改进\t135 7.7 小结\t137 7.8 习题\t138 项目8 模块和程序打包\t139 8.1 任务1 熟悉模块的概念和用法\t139 8.1.1 定义模块\t139 8.1.2 导入模块\t140 8.1.3 导入和加载\t140 8.1.4 模块文件和关键变量\t140 8.1.5 模块的别名\t141 8.1.6 反射\t142 8.2 任务2 熟悉包的概念和用法\t143 8.2.1 如何使用包\t143 8.2.2 搜索路径与环境变量\t144 8.2.3 名称空间\t144 8.2.4 虚拟环境\t145 8.3 任务3 熟悉标准库的查询和帮助\t146 8.3.1 模块的查询\t146 8.3.2 拆解轮子\t146 8.4 任务4 了解标准库中常用的包和模块\t147 8.4.1 Python增强\t147 8.4.2 系统互动\t148 8.4.3 网络\t148 8.5 任务5 模块化程序设计:用户账户 登录(总体设计)\t149 8.5.1 设计目标\t149 8.5.2 程序结构\t149 8.6 任务6 模块:验证码的生成和校验 (实现)\t151 8.6.1 什么是验证码\t151 8.6.2 随机数和权重设置\t151 8.6.3 验证码功能的实现\t151 8.7 任务7 模块:创建新账户(实现)\t152 8.7.1 创建新账户的关键步骤\t152 8.7.2 输入字符时遮盖内容\t152 8.7.3 信息加密:hashlib模块\t153 8.7.4 创建新账户的实现\t154 8.8 任务8 模块:密码核对和锁定检测 (实现)\t155 8.8.1 功能设计\t155 8.8.2 功能实现\t155 8.9 任务9 用户登录系统主程序(实现)\t156 8.9.1 用户登录过程中的关键步骤\t157 8.9.2 主程序的实现\t157 8.10 任务10 程序打包和部署\t158 8.10.1 使用Distutils打包\t158 8.10.2 使用PyInstaller创建可执行 文件\t159 8.11 小结\t160 8.12 习题\t161 项目9 异常处理\t162 9.1 任务1 了解什么是异常\t162 9.1.1 异常和错误\t162 9.1.2 为什么要使用异常处理机制\t163 9.2 任务2 掌握异常的检测和处理\t163 9.2.1 常见的异常类型\t163 9.2.2 处理异常\t164 9.2.3 处理多个异常\t165 9.2.4 在单except子句中处理多个异常\t166 9.2.5 获取发生异常的原因\t166 9.2.6 捕获所有异常\t167 9.2.7 else子句\t168 9.2.8 finally子句\t168 9.2.9 单独的try...finally语句\t169 9.3 任务3 掌握处理异常的其他方法\t169 9.3.1 主动触发异常:raise语句\t169 9.3.2 封装内建函数\t170 9.3.3 自定义异常\t170 9.3.4 上下文管理:with语句\t172 9.3.5 断言:assert语句\t173 9.3.6 回溯最近发生的异常\t173 9.4 小结\t174 9.5 习题\t174 项目10 图形用户界面编程\t176 10.1 任务1 了解Python GUI编程的基本 概念\t176 10.1.1 常用的Python GUI工具介绍\t176 10.1.2 wxPython的安装\t177 10.1.3 关于帮助\t177 10.1.4 GUI程序设计的一般流程\t178 10.2 任务2 掌握GUI框架的设计\t179 10.2.1 使用wx.Frame创建框架\t179 10.2.2 理解应用程序对象的生命周期\t180 10.2.3 如何管理wxPython对象的ID号\t180 10.2.4 wx.Point和wx.Size\t181 10.2.5 创建窗口面板\t181 10.2.6 wx.Frame的样式设置\t181 10.3 任务3 掌握基本组件的使用\t182 10.3.1 静态文本框\t183 10.3.2 文本样式设置\t184 10.3.3 图片显示\t185 10.3.4 文本框\t185 10.3.5 按钮和事件驱动\t186 10.3.6 验证器\t188 10.4 任务4 掌握对话框的使用\t189 10.4.1 消息对话框\t190 10.4.2 文本输入对话框\t191 10.4.3 文件选择器对话框\t192 10.5 任务5 掌握菜单栏、工具栏和 状态栏\t193 10.5.1 菜单栏\t193 10.5.2 工具栏\t193 10.5.3 状态栏\t194 10.5.4 子任务:编写一个文本编辑器\t194 10.6 任务6 了解选择器类组件的使用\t200 10.6.1 单选按钮\t201 10.6.2 复选框\t202 10.6.3 列表框\t203 10.6.4 树形控件\t204 10.7 任务7 了解其他窗口组件\t205 10.7.1 选项卡\t205 10.7.2 静态框\t205 10.7.3 滚动条\t206 10.7.4 滑块\t207 10.7.5 微调控制器\t208 10.7.6 进度条\t209 10.8 任务8 界面管理和设计\t210 10.8.1 布局管理器\t210 10.8.2 界面生成工具\t211 10.9 小结\t213 10.10 习题\t213 项目11 与数据库交互\t214 11.1 任务1 了解数据库的概念\t214 11.1.1 关系型数据库\t214 11.1.2 结构化查询语言\t215 11.1.3 Python数据库API\t216 11.1.4 选择要使用的数据库\t217 11.2 任务2 熟悉在Python中操作SQLite\t217 11.2.1 SQLite简介\t217 11.2.2 SQLite的安装和配置\t218 11.2.3 sqlite3模块的使用\t218 11.2.4 SQLite基础应用:用户账户 信息\t219 11.3 任务3 熟悉在Python中操作MySQL\t221 11.3.1 MySQL简介\t222 11.3.2 MySQL获取和安装\t223 11.3.3 MySQL编码设置\t224 11.3.4 MySQL常见问题\t224 11.3.5 Python中的MySQL驱动\t226 11.3.6 mysql-connector/python的使用\t226 11.3.7 使用executemany()方法批量 插入数据\t227 11.3.8 导入海量数据\t228 11.4 小结\t231 11.5 习题\t231 项目12 网络编程\t232 12.1 任务1 了解网络编程基本知识\t232 12.1.1 计算机网络层次结构\t232 12.1.2 客户端/服务器架构模型\t233 12.1.2 套接字\t233 12.1.3 面向连接与无连接通信\t234 12.2 任务2 掌握基于套接字的网络编程\t235 12.2.1 socket模块及socket对象\t235 12.2.2 创建TCP服务器\t236 12.2.3 创建TCP客户端\t237 12.2.4 创建UDP服务器/客户端\t238 12.3 任务3 掌握服务器多并发功能的 实现\t239 12.3.1 socketserver模块\t239 12.3.2 创建支持多并发的服务器\t240 12.3.3 通过socketserver模块传输 文件\t241 12.4 小结\t243 12.5 习题\t244 项目13 多线程和多进程\t245 13.1 任务1 了解进程和线程的概念\t245 13.1.1 多道程序设计和对称多处理\t245 13.1.2 进程\t246 13.1.3 线程\t247 13.2 任务2 掌握Python中的多线程编程\t248 13.2.1 threading模块简介\t248 13.2.2 守护线程\t249 13.2.3 抢占和释放CPU\t250 13.3 任务3 了解多线程有关的高级话题\t251 13.3.1 线程与队列\t251 13.3.2 子任务:生产者-消费者问题\t251 13.3.3 线程锁、临界资源和互斥\t253 13.3.4 死锁\t254 13.3.5 信号量\t255 13.3.6 全局解释器锁\t256 13.4 任务4 掌握Python中的多进程编程\t257 13.4.1 multiprocessing模块简介\t257 13.4.2 Process类\t258 13.4.3 跨进程全局队列\t259 13.4.4 Value和Array类\t260 13.4.5 Manager类\t261 13.4.6 进程池\t261 13.4.7 异步和同步\t262 13.4.8 再论多进程和多线程\t263 13.5 小结\t264 13.6 习题\t265 项目14 数据分析\t266 14.1 任务1 了解NumPy及NumPy数组\t266 14.1.1 NumPy的安装\t266 14.1.2 NumPy数组的创建方式及基本 特性\t267 14.1.3 NumPy数据类型\t268 14.1.4 多维数组及修改形状\t270 14.1.5 花式索引\t272 14.1.6 数据边界约束\t273 14.2 任务2 掌握NumPy中的数学相关 方法\t273 14.2.1 特殊数组\t273 14.2.2 随机数工具\t276 14.2.3 数组的算术操作\t277 14.2.4 数学函数\t279 14.2.5 NumPy的输入和输出\t281 14.3 任务3 掌握Pandas的使用\t283 14.3.1 什么是Pandas\t283 14.3.2 Series的使用\t284 14.3.3 DataFrame的创建和访问\t285 14.3.4 数据操作\t287 14.3.5 数据计算\t289 14.3.6 数据排序\t290 14.3.7 数据统计分析\t291 14.3.8 数据相关性分析\t292 14.4 任务4 了解Matplotlib数据可视化\t294 14.4.1 数据可视化的基本概念\t294 14.4.2 Matplotlib的基本使用\t295 14.4.3 数据图形中的文本设置\t298 14.4.4 子绘图区域\t299 14.4.5 图表绘制函数\t301 14.5 小结\t304 14.6 习题\t305 |