出版社:中国铁道出版社
ISBN:978-7-113-30923-7
图书种类:高校教材
出版日期:2024-05(预估)
所属学科:Python
页数:318(预估)
关注获取新书发布信息
随着人工智能热度的不断攀升,Python成为了目前最受欢迎和广泛使用的编程语言之一,其简洁的语法和可读性高的代码使其成为初学者的首选编码语言,并且深受广大编程人员的喜好和追捧。
本书从初学者的角度出发,以简洁有趣、通俗易懂的语言讲解了Python编程的内容。本书共分为17章,内容包括Python环境搭建、数字类型与字符串、流程控制、列表与元组、集合和字典、函数、面向对象程序设计、模块、文件与文件路径操作、错误和异常、正则表达式、进程和线程、网络编程、数据库编程、Django框架,以及综合项目实战——天天生鲜。本书每章都配有丰富有趣的实例,读者可以边学边练习,巩固所学知识,并在实践中提升动手开发的能力。
本书附有配套视频、源代码、测试题、教学课件等资源,为帮助初学者更好地学习本书中的内容,还提供了在线答疑,希望得到更多读者的关注。
本书既可作为高等院校本、专科计算机相关专业及其他工科专业的Python教材,也可作为供自学者使用的辅助教材,是一本适用于程序开发初学者的入门级教材。
特色1:理实一体,服务职业教育
本书按照“教学做一体化”的思维模式构建内容体系。本书以技能培养为核心任务,按照“螺旋形”的提升模式将内容组织为四部分:Python基础部分(第1~10章)、Python进阶部分(第11~14章)、Django框架部分(第15~16章)和项目实践部分(第17章),使学生从第1章开始就练习编程,按照“单个技能点练习—阶段实例技能练习—实战项目技能练习”的练习过程,快速提升学生的专业技能,为“理实一体”的职业教育理念提供教材和资源支撑。
特色2:项目贯穿,服务教育教学
根据培养“项目经验”的核心任务,按照“螺旋形”提升的模式,本书为每个章节配置了大量的实例,并在全书末尾设计了一个实战项目——天天生鲜,按照“基础示例—阶段实例—实战项目”的练习过程,快速提升学生的专业技能和项目经验。更加符合职业教育的要求,也更加符合教学的规律和学习的规律。
特色3:立体设计,服务课程建设
本书采用新形态立体化设计,配套了丰富的数字化教学资源,包括教学视频、教学大纲、教学设计、教学PPT、测试题、源代码、习题答案等,读者可以通过本书配套的教学视频进行“碎片化学习”。丰富了学习手段和形式、提高了学习的兴趣和效率,全方位立体化服务Python程序设计课程建设。
目录 第1章 开启Python学习之旅 1 1.1 Python概述 1 1.1.1 Python的特点 2 1.1.2 Python的应用领域 2 1.2 搭建Python开发环境 3 1.2.1 Python解释器的安装 3 1.2.2 PyCharm的安装与使用 6 1.3 快速开发Python程序 13 1.3.1 开发第一个Python程序 14 1.3.2 良好的编程约定 14 1.3.3 数据的表示——变量 15 1.3.4 基本输入输出 16 1.4 实例1:打印购物小票 17 1.5 实例2:打印功能菜单 18 1.6 本章小结 18 1.7 本章习题 18 第2章 数字类型与字符串 19 2.1 数字类型 20 2.2 运算符 21 2.2.1 算术运算符 22 2.2.2 比较运算符 23 2.2.3 赋值运算符 23 2.2.4 逻辑运算符 24 2.2.5 成员运算符 25 2.2.6 位运算符 25 2.2.7 运算符优先级 26 2.3 经典实例 27 2.3.1 实例1:计算BMI指数 27 2.3.2 实例2:计算三角形的面积 27 2.3.3 实例3:判断水仙花数 28 2.4 字符串 28 2.4.1 字符串的创建 28 2.4.2 字符串的格式化 29 2.4.3 字符串的常见操作 32 2.4.4 字符串的索引与切片 33 2.4.5 实例4:制作名片 35 2.4.6 实例5:替换不良词语 35 2.5 类型转换 35 2.5.1 类型转换函数 35 2.5.2 实例6:模拟超市收银抹零行为 37 2.6 本章小结 37 2.7 本章习题 37 第3章 流程控制 38 3.1 条件语句 39 3.1.1 if语句 39 3.1.2 if-else语句 40 3.1.3 if-elif-else语句 41 3.1.4 实例1:判断回文数 43 3.1.5 实例2:奖金发放 43 3.1.6 实例3:判断身体胖瘦程度 43 3.2 条件嵌套 44 3.2.1 条件嵌套的格式 44 3.2.2 实例4:模拟乘客进站流程 45 3.2.3 实例5:物流计费系统 45 3.3 循环语句 46 3.3.1 for语句 46 3.3.2 实例6:数据加密 47 3.3.3 实例7:逢七拍手游戏 47 3.3.4 while语句 47 3.3.5 实例8:登录系统账号检测 48 3.4 循环嵌套 48 3.4.1 while循环嵌套 49 3.4.2 for循环嵌套 49 3.4.3 实例9:九九乘法表 50 3.5 跳转语句 50 3.5.1 break语句 51 3.5.2 continue语句 52 3.5.3 实例10:猜数游戏 53 3.6 本章小结 53 3.7 本章习题 53 第4章 列表与元组 55 4.1 认识列表 56 4.1.1列表的创建方式 56 4.1.2访问列表元素 56 4.1.3实例1:刮刮乐 57 4.2 列表的遍历和排序 57 4.2.1列表的遍历 57 4.2.2列表的排序 58 4.2.3实例2:商品价格区间排序 59 4.3 添加、删除和修改列表元素 59 4.3.1添加列表元素 59 4.3.2删除列表元素 60 4.3.3修改列表元素 61 4.3.4实例3:好友管理系统 61 4.4 嵌套列表 62 4.4.1嵌套列表的创建与访问 62 4.4.2实例4:随机分配办公室 63 4.5 认识元组 63 4.5.1元组的创建方式 63 4.5.2访问元组元素 64 4.5.3实例5:中文数字对照表 65 4.6 本章小结 65 4.7 本章习题 66 第5章 字典和集合 67 5.1 认识字典 68 5.1.1字典的创建方式 68 5.1.2通过键访问字典 69 5.1.3实例1:单词识别 69 5.2 字典的基本操作 69 5.2.1字典元素的添加和修改 70 5.2.2字典元素的删除 70 5.2.3字典元素的查询 71 5.2.4实例2:手机通讯录 72 5.3 集合的创建方式 73 5.4 集合操作与操作符 74 5.4.1集合元素的添加、删除和清空 74 5.4.2集合类型的操作符 76 5.4.3实例3:生词本 77 5.5 本章小结 78 5.6 本章习题 78 第6章 函数 79 6.1 函数的定义与调用 80 6.1.1函数的定义 80 6.1.2函数的调用 81 6.1.3实例1:计算器 82 6.2 函数的参数传递 82 6.2.1位置参数传递 82 6.2.2关键字参数传递 82 6.2.3默认参数传递 83 6.2.4参数打包传递 83 6.2.5参数解包传递 84 6.2.5实例2:商品折扣计算 85 6.3 变量作用域 85 6.3.1局部变量 85 6.3.2全局变量 86 6.3.3实例3:学生信息管理系统 86 6.4 函数的特殊形式 87 6.4.1匿名函数 87 6.4.2实例4:商品销量排序 88 6.4.3递归函数 88 6.4.4实例5:失之毫厘,谬以千里 89 6.5 常用的内置函数 90 6.6 本章小结 91 6.7 本章习题 91 第7章 类与面向对象 92 7.1 面向对象 93 7.1.1面向对象概述 94 7.1.2面向对象的基本概念 95 7.2 类与对象 96 7.2.1类和对象的关系 96 7.2.2类的定义 97 7.2.3对象的创建与使用 98 7.2.4访问限制 98 7.3 构造方法 99 7.4 类方法和静态方法 100 7.4.1类方法 101 7.4.2静态方法 102 7.5 实例1:航天器信息查询工具 103 7.6 继承 103 7.6.1单继承 103 7.6.2多继承 105 7.6.3方法的重写 105 7.6.4super()函数 106 7.7 实例2:人机猜拳游戏 106 7.8 多态 106 7.9 本章小结 107 7.10 本章习题 107 第8章 模块 109 8.1 模块概述 110 8.1.1模块的概念 110 8.1.2模块的导入方式 111 8.1.3常见的内置模块 112 8.2 自定义模块 116 8.3 模块的导入特性 117 8.3.1__all__变量 118 8.3.2__name__变量 119 8.4 Python的包 119 8.4.1包的结构 119 8.4.2包的导入 120 8.5 第三方模块的下载与安装 120 8.6 实例1:验证码 121 8.7 实例2:文本进度条 121 8.8 实例3:高考倒计时器 122 8.9 本章小结 122 8.10 本章习题 122 第9章 文件与文件路径操作 123 9.1 文件的打开和关闭 124 9.1.1打开文件 124 9.1.2关闭文件 125 9.2 从文件中读取数据 126 9.2.1读取文件 126 9.2.2实例1:身份证归属地查询 128 9.3 向文件写入数据 128 9.3.1写入文件 128 9.3.2实例2:通讯录 129 9.4 文件的定位读写 129 9.5 文件的备份与重命名 130 9.5.1文件的备份 130 9.5.2文件的重命名 131 9.6 目录操作 131 9.6.1创建目录 132 9.6.2删除目录 132 9.6.3获取目录的文件列表 132 9.7 文件路径操作 133 9.7.1相对路径与绝对路径 133 9.7.2获取当前路径 133 9.7.3检测路径的有效性 134 9.7.4路径的拼接 134 9.8 实例3:用户登录 135 9.9 本章小结 135 9.10 本章习题 135 第10章 错误和异常 137 10.1 错误和异常概述 138 10.1.1认识错误和异常 138 10.1.2异常的类型 139 10.2 捕获与处理异常 139 10.2.1try-except语句 140 10.2.2捕获异常信息 142 10.2.3else子句 142 10.2.4finally子句 143 10.3 抛出异常 144 10.3.1raise语句 144 10.3.2异常的传递 145 10.3.3assert断言语句 146 10.4 自定义异常 146 10.5 with语句 147 10.6 实例:身份归属地查询 148 10.7 本章小结 148 10.8 本章习题 148 第11章 正则表达式 150 11.1 基础知识 150 11.1.1元字符 151 11.1.2预定义字符集 153 11.2 re模块 153 11.3 预编译 154 11.4 匹配与搜索 155 11.4.1使用match()函数进行匹配 155 11.4.2使用search()函数进行匹配 156 11.4.3实例1:手机号运营商 157 11.5 匹配对象 157 11.6 全文匹配 158 11.6.1findall()函数 158 11.6.2finditer()函数 159 11.7 检索替换 159 11.8 实例2:电影信息提取 160 11.9 文本分割 160 11.10 贪婪匹配 161 11.11 实例3:用户注册验证 162 11.12 本章小结 162 11.13 本章习题 162 第12章 进程和线程 163 12.1 进程概述 164 12.1.1什么是进程 164 12.1.2进程的状态 165 12.1.3进程相关的概念 166 12.2 进程的创建方式 167 12.2.1通过fork()函数创建进程 167 12.2.2通过Process类创建进程 169 12.2.3通过Pool类批量创建进程 171 12.3 进程间通信 174 12.4 线程的概念 175 12.5 线程的基本操作 176 12.5.1线程的创建和启动 176 12.5.2线程的阻塞 178 12.6 线程锁 179 12.6.1线程锁概述 179 12.6.2互斥锁 180 12.6.3死锁 182 12.6.4可重入锁 184 12.7 线程同步 185 12.7.1线程同步概述 185 12.7.2通过Condition类实现线程同步 186 12.7.3通过Queue类实现线程同步 189 12.8 实例:生产者与消费者模式 191 12.9 本章小结 192 12.10 本章习题 192 第13章 网络编程 193 13.1 网络概述 194 13.1.1 协议与体系结构 194 13.1.2 数据传输流程 196 13.1.3 网络架构 198 13.1.4 IP地址和端口号 198 13.2 socket网络编程基础 199 13.2.1 socket套接字 199 13.2.2 socket通信流程 200 13.2.3 socket内置方法 202 13.2.4 实例1:扫描开放端口 204 13.3 基于UDP的网络聊天室 204 13.4 基于TCP的数据转换 207 13.5 实例2:TCP文件下载 209 13.6 TCP并发服务器 209 13.6.1 单进程非阻塞服务器 210 13.6.2 多进程并发服务器 213 13.6.3 多线程并发服务器 215 13.7 本章小结 216 13.8 本章习题 216 第14章 数据库编程 217 14.1 数据库基础知识 218 14.1.1数据库概述 218 14.1.2数据库的分类 219 14.1.3数据库的核心要素 221 14.2 MySQL与Python交互 222 14.2.1下载和安装MySQL 222 14.2.2安装pymysql 228 14.2.3pymysql的常用对象 228 14.2.4pymysql的基本使用 231 14.3 MongoDB与Python交互 232 14.3.1下载和安装MongoDB 233 14.3.2安装pymongo 240 14.3.3pymongo常用对象 240 14.3.4pymongo的基本使用 242 14.4 Redis与Python交互 243 14.4.1下载和安装Redis 243 14.4.2安装redis 247 14.4.3redis常用对象 248 14.4.4redis的基本使用 249 14.5 实例:用户注册与登录 250 14.6 本章小结 252 14.7 本章习题 252 第15章 Django框架入门 253 15.1 Web开发基础知识 254 15.1.1HTTP协议 255 15.1.2HTML简介 258 15.1.3CSS简介 259 15.1.4JavaScript简介 260 15.1.5WSGI规范 261 15.2 初识Django框架 262 15.2.1Django框架的发展史 262 15.2.2Django框架的优点 263 15.3 搭建Django环境 264 15.3.1Django版本选择 264 15.3.2创建隔离的Python环境 265 15.3.3安装Django框架 266 15.4 创建第一个Django项目 267 15.4.1创建Django项目 267 15.4.2运行开发服务器 268 15.4.3Django项目配置 269 15.4.4在项目中创建应用 271 15.5 Django架构之MTV 273 15.6 本章小结 273 15.7 本章习题 274 第16章 Django核心组件详解 275 16.1 路由系统 276 16.1.1路由系统简介 276 16.1.2路由转换器 278 16.1.3路由分发 281 16.1.4向视图传递额外参数 282 16.1.5反向解析URL 283 16.2 模型 284 16.2.1模型简介 284 16.2.2模型的字段 287 16.2.3数据的增删改查 289 16.3 模板 292 16.3.1模板简介 293 16.3.2模板语法 296 16.4 视图 299 16.4.1视图简介 299 16.4.2请求对象 301 16.4.3响应对象 302 16.4.4生成响应 304 16.4.5视图类 305 16.3.3分页 306 16.5 实例:用户登录 309 16.6 本章小结 311 16.7 本章习题 311 第17章 项目实战——天天生鲜 312 17.1 项目页面展示 313 17.2 项目需求分析 317 17.2.1 模块与功能分析 317 17.2.2 数据库设计 318 17.3 前期准备工作 318 17.3.1 创建项目 318 17.3.2 定义模型类 320 17.3.3 迁移数据库 321 17.3.4 配置静态文件 322 17.4 首页功能实现 324 17.4.1 创建视图函数 324 17.4.2 创建模板文件 325 17.4.3 配置路由 327 17.5 商品详情页面功能实现 327 17.5.1 创建视图函数 327 17.5.2 实现加入购物车功能 328 17.5.3 创建模板文件 329 17.5.4 配置路由 331 17.6 商品分类页面功能实现 331 17.6.1 创建视图函数 331 17.6.2 创建模板文件 332 17.6.3 配置路由 334 17.7 购物车页面功能实现 335 17.7.1 创建视图函数 335 17.7.2 实现删除商品的功能 336 17.7.3 创建模板文件 336 17.7.4 配置路由 337 17.8 订单提交页面功能实现 338 17.8.1 创建视图函数 338 17.8.2 实现提交订单功能 339 17.8.3 创建模板文件 340 17.8.4 配置路由 341 17.9 订单提交成功页面功能实现 341 17.9.1 创建视图函数 341 17.9.2 创建模板文件 342 17.9.3 配置路由 343 17.10 本章小结 344