高等教育 > 计算机基础教育
Python程序开发案例教程(第2版)
书号:9787113309237 套系名称:应用型人才培养系列教材
作者:黑马程序员 出版日期:2024-07-01
定价:59.80 页码 / 开本:0 /16
策划编辑:翟玉峰 责任编辑:翟玉峰 彭立辉
适用专业:计算机基础教育 适用层次:高等教育
最新印刷时间:2024-12-01
资源下载
教学课件
教学素材
习题答案
教学案例
教学设计
教学视频(暂无)
内容简介
前言
目录
作者介绍
图书特色
本书是黑马程序员编著的应用型人才培养系列教材之一,以简洁的语言讲解Python编程的内容。全书共分17章,内容包括开启Python学习之旅、数字类型与字符串、流程控制、列表与元组、字典和集合、函数、类与面向对象、模块、文件与文件路径操作、错误和异常、正则表达式、进程和线程、网络编程、数据库编程、Django框架入门、Django核心组件详解,以及项目实战——天天生鲜。本书每章都配有大量典型的实例和教学资源,读者可以边学边练习,巩固所学知识,并在实践中提升动手开发能力。 本书适合作为高等院校计算机及其他工科专业的教材,也可作为编程人员及自学者的辅助教材或自学参考书。
Python作为一门多用途的高级编程语言,正处于持续蓬勃发展的阶段。如今,Python已经成为业界和学术界中最受欢迎的语言之一,它简洁易读、功能强大,具有丰富的库和工具生态系统,在数据科学、人工智能、Web开发等众多领域得到广泛应用。 编写思路 对于已步入编程领域的人而言,学习一门语言并不难,难的是如何将语言应用到实际开发之中。通过学习本书可帮助具有编程基础的人群快速掌握Python语言,并熟练应用Python进行应用开发。 在内容结构设计上,本书延续第1版的编写思路每章采用“语法介绍+代码示例+实例练习”的模式,既有普适性介绍,又抓取要点、突出重点,同时提供充足实例,保证语法学习之余的实际应用;在知识配置上,本书涵盖Python基础语法、面向对象、正则表达式、进程和线程、网络编程、数据库编程以及Django框架。通过学习本书,读者可以掌握开发Web项目的基础知识,具备使用Django框架快速开发Web项目的能力。 修订内容 为了与行业发展保持同步,本书在第1版的基础上进行了修订。具体包括技术更新、内容优化和融入思政。首先根据Python技术的发展动向进行了技术更新,其次根据教师的需求和反馈对第1版内容和案例进行了优化,最后结合国家对教育行业的政策要求,增加了与思政教育相关的内容。 修改的具体内容如下: (1)将Django框架拆解为两章,读者可以全面学习Django框架的核心知识。 (2)删减图形用户界面编程一章,使图书精准定位Web开发基础用书行列。 (3)将Python升级至Python 3.11.3版本,紧跟技术发展需求。 (4)更新内置模块和数据库安装的内容,使读者接触更加实用的技能。 (5)更新实例并调整实例顺序,以增强实例与知识点之间的联系。 (6)案例深度自然地融入思政教育内容。 本书内容 本书在Windows上基于Python 3.11.3对Python语法及程序设计相关知识进行讲解,全书总共分17章,其中前10章介绍Python基础部分的内容,第11~14章介绍Python进阶部分的内容,第15~16章介绍Django框架部分的内容,第17章介绍项目实践部分的内容。 Python基础部分:前10章主要围绕Python基础的核心知识进行讲解,包括基础语法、数字类型、字符串类型、流程控制、列表与元组、字典和集合、函数、面向对象编程、模块、文件操作技巧以及异常处理的应用。通过学习这些内容,读者可以建立起扎实的Python编程基础,能够编写从简单到复杂的Python程序。 Python进阶部分:第11~14章深入探讨了Web开发方向的Python进阶知识,包括正则表达式、多任务编程的方式——进程和线程、网络编程以及数据库编程。通过学习,读者可掌握高级的编程技能,能够处理更加复杂的问题,编写出更加高效且可扩展的程序。 Django框架部分:第15章首先介绍了Web开发的基础知识,包括HTTP、HTML、CSS、JavaScript、WSGI,然后简单地介绍了Django框架的入门知识,包括如何安装Django框架、创建Django项目与应用、配置文件以及Django架构;第16章主要围绕Django框架的核心组件进行讲解,包括路由系统、模型、模板和视图。通过学习这些章节,读者能够掌握Django框架的基本使用,能够使用Django框架开发简单的Web应用。 项目实践部分:第17章通过实际项目案例——天天生鲜展示了Django框架在实际项目开发中的应用。通过逐步实现项目的各个模块和页面功能,读者可以深入理解Django框架的实际应用,并具备使用Django框架进行项目开发的能力。 读者若不能完全理解教材中所讲知识,可登录博学谷平台,配合平台中的教学视频进行学习。此外读者在学习过程中,务必要勤于练习,确保真正获取所学知识。若在学习的过程中遇到无法解决的困难,建议读者不要纠结于此,继续往后学习,或可豁然开朗。 致谢 本教材的编写和整理工作由江苏传智播客教育科技股份有限公司完成,主要参与人员有高美云、孙东、王晓娟等,全体人员在近一年的编写过程中付出了很多辛勤的汗水,在此一并表示衷心的感谢。 意见反馈 尽管我们付出了最大的努力,但书中难免存在疏漏与不妥之处,欢迎各界专家和读者朋友们来信提出宝贵意见,我们将不胜感激。在阅读本书时,若发现任何问题或有不认同之处可以通过电子邮件与我们取得联系。请发送电子邮件至:itcast_book@vip.sina.com。 黑马程序员 2023年11月1日于北京
第1章 开启Python学习之旅 1 1.1 Python概述 1 1.1.1 Python的特点 1 1.1.2 Python的应用领域 2 1.2 搭建Python开发环境 3 1.2.1 Python解释器的安装 3 1.2.2 PyCharm的安装与使用 6 1.3 快速开发Python程序 12 1.3.1 开发第一个Python程序 12 1.3.2 良好的编程约定 13 1.3.3 数据的表示——变量 14 1.3.4 基本输入/输出 15 1.4 实例1:打印购物小票 16 1.5 实例2:打印功能菜单 16 小结 16 习题 17 第2章 数字类型与字符串 18 2.1 数字类型 18 2.2 运算符 20 2.2.1 算术运算符 20 2.2.2 比较运算符 21 2.2.3 赋值运算符 21 2.2.4 逻辑运算符 22 2.2.5 成员运算符 23 2.2.6 位运算符 23 2.2.7 运算符优先级 24 2.3 经典实例 25 2.3.1 实例1:计算BMI指数 25 2.3.2 实例2:计算三角形的面积 25 2.3.3 实例3:判断水仙花数 25 2.4 字符串 25 2.4.1 字符串的创建 25 2.4.2 字符串的格式化 26 2.4.3 字符串的常见操作 29 2.4.4 字符串的索引与切片 31 2.4.5 实例4:制作名片 32 2.4.6 实例5:替换不良词语 32 2.5 类型转换 33 2.5.1 类型转换函数 33 2.5.2 实例6:模拟超市收银抹零行为 34 小结 34 习题 34 第3章 流程控制 36 3.1 条件语句 36 3.1.1 if语句 36 3.1.2 if…else语句 37 3.1.3 if…elif…else语句 38 3.1.4 实例1:判断回文数 39 3.1.5 实例2:奖金发放 39 3.1.6 实例3:判断身体胖瘦程度 40 3.2 条件嵌套 40 3.2.1 条件嵌套的格式 40 3.2.2 实例4:模拟乘客进站流程 41 3.2.3 实例5:快递计费系统 41 3.3 循环语句 42 3.3.1 for语句 42 3.3.2 实例6:数据加密 43 3.3.3 实例7:逢七拍手游戏 43 3.3.4 while语句 43 3.3.5 实例8:登录系统账号检测 44 3.4 循环嵌套 44 3.4.1 while循环嵌套 44 3.4.2 for循环嵌套 45 3.4.3 实例9:九九乘法表 45 3.5 跳转语句 46 3.5.1 break语句 46 3.5.2 continue语句 47 3.5.3 实例10:猜数游戏 48 小结 48 习题 48 第4章 列表与元组 50 4.1 认识列表 50 4.1.1 列表的创建方式 50 4.1.2 访问列表元素 51 4.1.3 实例1:刮刮乐 51 4.2 列表的遍历和排序 52 4.2.1 列表的遍历 52 4.2.2 列表的排序 52 4.2.3 实例2:商品价格区间排序 53 4.3 添加、删除和修改列表元素 54 4.3.1 添加列表元素 54 4.3.2 删除列表元素 54 4.3.3 修改列表元素 55 4.3.4 实例3:好友管理系统 55 4.4 嵌套列表 56 4.4.1 嵌套列表的创建与访问 56 4.4.2 实例4:随机分配办公室 57 4.5 认识元组 57 4.5.1 元组的创建方式 57 4.5.2 访问元组元素 58 4.5.3 实例5:中文数字对照表 59 小结 59 习题 60 第5章 字典和集合 62 5.1 认识字典 62 5.1.1 字典的创建方式 62 5.1.2 通过键访问字典 63 5.1.3 实例1:单词识别 64 5.2 字典的基本操作 64 5.2.1 字典元素的添加和修改 64 5.2.2 字典元素的删除 65 5.2.3 字典元素的查询 66 5.2.4 实例2:手机通讯录 67 5.3 集合的创建方式 67 5.4 集合操作与操作符 68 5.4.1 集合元素的添加、删除和清空 68 5.4.2 集合类型的操作符 70 5.4.3 实例3:生词本 72 小结 72 习题 72 第6章 函数 74 6.1 函数的定义与调用 74 6.1.1 函数的定义 74 6.1.2 函数的调用 75 6.1.3 实例1:计算器 76 6.2 函数的参数传递 76 6.2.1 位置参数传递 76 6.2.2 关键字参数传递 77 6.2.3 默认参数传递 77 6.2.4 参数打包传递 78 6.2.5 参数解包传递 78 6.2.6 实例2:商品折扣计算 79 6.3 变量作用域 79 6.3.1 局部变量 79 6.3.2 全局变量 80 6.3.3 实例3:学生信息管理系统 81 6.4 函数的特殊形式 81 6.4.1 匿名函数 81 6.4.2 实例4:商品销量排序 82 6.4.3 递归函数 82 6.4.4 实例5:失之毫厘,谬以千里 83 6.5 常用的内置函数 84 小结 85 习题 85 第7章 类与面向对象 87 7.1 面向对象 87 7.1.1 面向对象概述 87 7.1.2 面向对象的基本概念 89 7.2 类与对象 90 7.2.1 类与对象的关系 90 7.2.2 类的定义 91 7.2.3 对象的创建与使用 91 7.2.4 访问限制 92 7.3 构造方法 93 7.4 类方法和静态方法 94 7.4.1 类方法 94 7.4.2 静态方法 96 7.5 实例1:航天器信息查询工具 96 7.6 继承 97 7.6.1 单继承 97 7.6.2 多继承 98 7.6.3 方法的重写 99 7.6.4 super()函数 99 7.7 实例2:人机猜拳游戏 100 7.8 多态 100 小结 101 习题 101 第8章 模块 103 8.1 模块概述 103 8.1.1 模块的概念 103 8.1.2 模块的导入方式 104 8.1.3 常见的内置模块 105 8.2 自定义模块 109 8.3 模块的导入特性 111 8.3.1 _ _all__变量 111 8.3.2 __name__变量 112 8.4 Python的包 112 8.4.1 包的结构 112 8.4.2 包的导入 113 8.5 第三方模块的下载与安装 114 8.6 实例1:验证码 114 8.7 实例2:文本进度条 115 8.8 实例3:高考倒计时器 115 小结 115 习题 116 第9章 文件与文件路径操作 117 9.1 文件的打开和关闭 117 9.1.1 打开文件 117 9.1.2 关闭文件 119 9.2 从文件中读取数据 119 9.2.1 读取文件 119 9.2.2 实例1:身份证归属地查询 121 9.3 向文件写入数据 121 9.3.1 写入文件 121 9.3.2 实例2:通讯录 122 9.4 文件的定位读/写 122 9.5 文件的备份与重命名 123 9.5.1 文件的备份 123 9.5.2 文件的重命名 124 9.6 目录操作 124 9.6.1 创建目录 124 9.6.2 删除目录 125 9.6.3 获取目录的文件列表 125 9.7 文件路径操作 126 9.7.1 相对路径与绝对路径 126 9.7.2 获取当前路径 126 9.7.3 检测路径的有效性 126 9.7.4 路径的拼接 127 9.8 实例3:用户登录 128 小结 128 习题 128 第10章 错误和异常 130 10.1 错误和异常概述 130 10.1.1 认识错误和异常 130 10.1.2 异常的类型 131 10.2 捕获与处理异常 132 10.2.1 try…except语句 132 10.2.2 捕获异常信息 135 10.2.3 else子句 135 10.2.4 finally子句 136 10.3 抛出异常 136 10.3.1 raise语句 136 10.3.2 异常的传递 138 10.3.3 assert断言语句 139 10.4 自定义异常 139 10.5 with语句 140 10.6 实例:身份归属地查询 141 小结 141 习题 141 第11章 正则表达式 143 11.1 基础知识 143 11.1.1 元字符 143 11.1.2 预定义字符集 146 11.2 re模块 146 11.3 预编译 147 11.4 匹配与搜索 148 11.4.1 使用match()函数进行匹配 148 11.4.2 使用search()函数进行匹配 149 11.4.3 实例1:手机号运营商 150 11.5 匹配对象 150 11.6 全文匹配 151 11.6.1 findall()函数 151 11.6.2 finditer()函数 152 11.7 检索替换 152 11.8 实例2:电影信息提取 153 11.9 文本分割 153 11.10 贪婪匹配 154 11.11 实例3:用户注册验证 155 小结 155 习题 155 第12章 进程和线程 157 12.1 进程概述 157 12.1.1 进程的概念 157 12.1.2 进程的状态 158 12.1.3 进程相关的概念 159 12.2 进程的创建方式 160 12.2.1 通过fork()函数创建进程 160 12.2.2 通过Process类创建进程 162 12.2.3 通过Pool类批量创建进程 164 12.3 进程间通信 167 12.4 线程的概念 168 12.5 线程的基本操作 169 12.5.1 线程的创建和启动 169 12.5.2 线程的阻塞 171 12.6 线程锁 172 12.6.1 线程锁概述 172 12.6.2 互斥锁 172 12.6.3 死锁 175 12.6.4 可重入锁 176 12.7 线程同步 178 12.7.1 线程同步概述 178 12.7.2 通过Condition类实现线程同步 178 12.7.3 通过Queue类实现线程同步 181 12.8 实例:生产者与消费者模式 183 小结 183 习题 184 第13章 网络编程 185 13.1 网络概述 185 13.1.1 协议与体系结构 186 13.1.2 数据传输流程 187 13.1.3 网络架构 . 189 13.1.4 IP地址和端口号 189 13.2 socket网络编程基础 190 13.2.1 socket套接字 190 13.2.2 socket通信流程 191 13.2.3 socket内置方法 192 13.2.4 实例1:扫描开放端口 195 13.3 基于UDP的网络聊天室 195 13.4 基于TCP的数据转换 197 13.5 实例2:TCP文件下载 199 13.6 TCP并发服务器 199 13.6.1 单进程非阻塞服务器 200 13.6.2 多进程并发服务器 203 13.6.3 多线程并发服务器 204 小结 205 习题 205 第14章 数据库编程 . 207 14.1 数据库基础知识 207 14.1.1 数据库概述 207 14.1.2 数据库的分类 208 14.1.3 数据库的核心要素 210 14.2 MySQL与Python交互 211 14.2.1 下载和安装MySQL 211 14.2.2 安装pymysql 216 14.2.3 pymysql的常用对象 216 14.2.4 pymysql的基本使用 219 14.3 MongoDB与Python交互 221 14.3.1 下载和安装MongoDB 221 14.3.2 安装pymongo 224 14.3.3 pymongo常用对象 225 14.3.4 pymongo的基本使用 27 14.4 Redis与Python交互 228 14.4.1 下载和安装Redis 228 14.4.2 安装redis模块 230 14.4.3 redis常用对象 231 14.4.4 redis的基本使用 . 232 14.5 实例:用户注册与登录 233 小结 234 习题 234 第15章 Django框架入门 236 15.1 Web开发基础知识 236 15.1.1 HTTP协议 237 15.1.2 HTML简介 240 15.1.3 CSS简介 240 15.1.4 JavaScript简介 241 15.1.5 WSGI规范 242 15.2 初识Django框架 243 15.2.1 Django框架的发展史 243 15.2.2 Django框架的优点 244 15.3 搭建Django环境 245 15.3.1 选择Django版本 245 15.3.2 创建隔离的Python环境 246 15.3.3 安装Django框架 247 15.4 创建第一个Django项目 248 15.4.1 创建Django项目 248 15.4.2 运行开发服务器 249 15.4.3 Django项目配置 250 15.4.4 在项目中创建应用 251 15.5 Django架构之MTV 253 小结 254 习题 254 第16章 Django核心组件详解 256 16.1 路由系统 256 16.1.1 路由系统简介 256 16.1.2 路由转换器 258 16.1.3 路由分发 261 16.1.4 向视图传递额外参数 262 16.1.5 反向解析URL 263 16.2 模型 264 16.2.1 模型简介 264 16.2.2 模型的字段 267 16.2.3 数据的增删改查 269 16.3 模板 272 16.3.1 模板简介 272 16.3.2 模板语法 275 16.4 视图 . 279 16.4.1 视图简介 279 16.4.2 请求对象 280 16.4.3 响应对象 281 16.4.4 生成响应 283 16.4.5 视图类 284 16.4.6 分页 . 285 16.5 实例:用户登录 .288 小结 289 习题 289 第17章 项目实战——天天生鲜 291 17.1 项目页面展示 291 17.2 项目需求分析 295 17.2.1 模块与功能分析 295 17.2.2 数据库设计 296 17.3 前期准备工作 296 17.3.1 创建项目 296 17.3.2 定义模型类 298 17.3.3 迁移数据库 .299 17.3.4 配置静态文件 300 17.4 首页功能实现 301 17.4.1 创建视图函数 301 17.4.2 创建模板文件 302 17.4.3 配置路由 304 17.5 商品详情页面功能实现 304 17.5.1 创建视图函数 304 17.5.2 实现加入购物车功能 305 17.5.3 创建模板文件 306 17.5.4 配置路由 307 17.6 商品分类页面功能实现 307 17.6.1 创建视图函数 307 17.6.2 创建模板文件 308 17.6.3 配置路由 310 17.7 购物车页面功能实现 310 17.7.1 创建视图函数 310 17.7.2 实现删除商品的功能 311 17.7.3 创建模板文件 312 17.7.4 配置路由 313 17.8 订单提交页面功能实现 313 17.8.1 创建视图函数 313 17.8.2 实现提交订单功能 314 17.8.3 创建模板文件 315 17.8.4 配置路由 316 17.9 订单提交成功页面功能实现 316 17.9.1 创建视图函数 316 17.9.2 创建模板文件 317 17.9.3 配置路由 318 小结 318
江苏传智播客教育科技股份有限公司(简称“传智教育”)作为我国第一个实现A股IPO上市的教育企业,是一家培养高精尖数字化专业人才的公司,主要培养人工智能、大数据、智能制造、软件开发、区块链、数据分析、网络营销、新媒体等领域的人才。“黑马程序员”是传智播客旗下高端IT教育品牌。
全面讲解Python开发的核心知识 配有大量典型实例和项目实战案例 可下载所有实例的分析、实现和源代码 ?