欢迎访问学兔兔,学习、交流 分享 !

返回首页 |

Python程序开发案例教程 黑马程序员 编著 2019

收藏
  • 大小:155.15 MB
  • 语言:中文版
  • 格式: PDF文档
  • 阅读软件: Adobe Reader
资源简介
Python程序开发案例教程
作者:黑马程序员 编著
出版时间: 2019
内容简介
  Python是近年来流行的编程语言之一,其清晰的语法和可读性使其成为初学者的完美编程 语言,并且深受编程人员的喜好和追捧。 本书以Python 3.7.3为开发环境,从入门者的角度出发,以简洁、通俗易懂的语言逐步展开 Python语言教学。全书共分17章,内容包括Python环境搭建、数字类型与字符串、流程控制、 列表与元组、集合和字典、函数、类与面向对象、模块、文件与文件路径操作、错误和异常、正 则表达式、图形用户界面编程、进程和线程、网络编程、数据库编程、Django框架介绍以及综合 实战项目。本书配有大量典型的实例,读者可以边学边练习,巩固所学知识,并在实践中提升实 际开发能力。 本书适合作为高等院校计算机相关专业及其他工科专业的Python教材,也可作为编程人员及 自学者的辅助教材或自学参考书。
目录
第1章 开启Python学习之旅..................1 1.1 Python概述................................... 1 1.1.1 Python的特点...................... 1 1.1.2 Python的版本...................... 2 1.1.3 Python应用领域.................. 4 1.2搭建Python开发环境................... 5 1.2.1 Python的安装...................... 5 1.2.2 IDLE的使用......................... 8 1.2.3 集成开发环境PyCharm的安装与使用.......................... 9 1.3快速开发Python程序................. 13 1.3.1 开发个Python程序:模拟手机充值.................... 13 1.3.2 良好的编程约定................ 14 1.3.3 数据的表示——变量........ 15 1.3.4基本输入/输出................... 15 1.4实例1:海洋单位距离的换算... 16 1.5实例2:打印名片....................... 16 小结...................................................... 17 习题...................................................... 17 第2章 数字类型与字符串....................18 2.1 数字类型..................................... 18 2.1.1 数字类型的表示方法........ 18 2.1.2实例1:根据身高体重计算BMI指数.............................19 2.1.3 类型转换函数....................20 2.1.4 实例2:模拟超市收银抹零行为....................................20 2.2 字符串.........................................21 2.2.1 字符串的定义....................21 2.2.2 字符串的格式化输出........21 2.2.3 字符串的常见操作............23 2.2.4 字符串的索引与切片........25 2.2.5实例3:文本进度条..........25 2.2.6实例4:敏感词替换..........26 2.3运算符.........................................26 2.3.1 算术运算符........................26 2.3.2 比较运算符........................27 2.3.3 赋值运算符........................27 2.3.4 逻辑运算符........................28 2.3.5位运算符............................29 2.3.6 运算符优先级....................29 2.4经典实例.....................................30 2.4.1 实例5:判断水仙花数......30 2.4.2 实例6:找出大数..........30 2.4.3 实例7:计算三角形面积..31 2.4.4 实例8:下载操作模拟......31 小结......................................................31 习题......................................................31 第3章 流程控制.................................. 33 3.1 if语句...........................................33 3.1.1 if语句的格式......................33 3.1.2 实例1:判断4位回文数.... 35 3.1.3 实例2:奖金发放.............. 36 3.1.4 实例3:根据身高体重计算某个人的BMI值................ 36 3.2 if语句的嵌套.............................. 36 3.2.1 if语句嵌套......................... 36 3.2.2 实例4:模拟乘客进站流程.................................... 37 3.2.3 实例5:快递计费系统...... 37 3.3 循环语句..................................... 38 3.3.1 for循环............................... 38 3.3.2 实例6:数据加密.............. 38 3.3.3 实例7:逢七拍手游戏...... 39 3.3.4 while循环........................... 39 3.3.5 实例8:登录系统账号检测.................................... 39 3.4 循环嵌套..................................... 40 3.4.1 while循环嵌套................... 40 3.4.2 for循环嵌套....................... 40 3.4.3 实例9:九九乘法表.......... 41 3.5 跳转语句..................................... 41 3.5.1 break语句........................... 41 3.5.2 continue语句...................... 42 3.5.3 实例10:猜数游戏............ 43 小结...................................................... 43 习题...................................................... 43 第4章 列表与元组...............................45 4.1 认识列表..................................... 45 4.1.1 列表的创建方式................ 45 III 目 录4.1.2 访问列表元素....................46 4.1.3实例1:刮刮乐..................46 4.2 列表的遍历和排序.....................47 4.2.1 列表的遍历........................47 4.2.2 列表的排序........................47 4.2.3 实例2:商品价格区间设置与排序................................48 4.3 添加、删除和修改列表元素.....48 4.3.1 添加列表元素....................48 4.3.2 删除列表元素....................49 4.3.3 修改列表元素....................50 4.3.4 实例3:好友管理系统......50 4.4 嵌套列表.....................................51 4.4.1 嵌套列表的创建与元素的访问....................................51 4.4.2 实例4:随机分配办公室....51 4.5 认识元组.....................................52 4.5.1 元组的创建方式................52 4.5.2 访问元组元素....................52 4.5.3 实例5:中文数字对照表....53 小结......................................................54 习题......................................................54 第5章 字典与集合.............................. 56 5.1 认识字典.....................................56 5.1.1 字典的创建方式................56 5.1.2 通过“键”访问字典........57 5.1.3 实例1:单词识别..............57 5.2 字典的基本操作.........................57 5.2.1 字典元素的添加和修改....57 5.2.2 字典元素的删除................ 58 5.2.3 字典元素的查询................ 59 5.2.4 实例2:手机通讯录.......... 60 5.3 集合的创建方式......................... 61 5.4 集合操作与操作符..................... 61 5.4.1 集合元素的添加、删除和清空................................ 61 5.4.2 集合类型的操作符............ 62 5.4.3 实例3:生词本.................. 64 小结...................................................... 64 习题...................................................... 64 第6章 函数.........................................66 6.1 函数的定义与调用..................... 66 6.1.1 函数的定义........................ 66 6.1.2 函数的调用........................ 67 6.1.3 实例1:计算器.................. 68 6.2 函数的参数传递......................... 68 6.2.1 位置参数............................ 68 6.2.2 关键字参数........................ 68 6.2.3 默认参数............................ 69 6.2.4 不定长参数........................ 69 6.3 变量作用域................................. 70 6.3.1局部变量............................ 70 6.3.2全局变量............................ 70 6.3.3实例2:学生信息管理系统.................................... 71 6.4 函数的特殊形式......................... 71 6.4.1匿名函数............................ 71 6.4.2递归函数............................ 72 IV Python 程序开发案例教程 6.4.3实例3:汉诺塔..................73 6.4.4实例4:斐波那契数列......73 6.5 Python常用内置函数..................73 小结......................................................74 习题......................................................74 第7章 类与面向对象........................... 76 7.1 面向对象.....................................76 7.1.1 面向对象概述....................76 7.1.2面向对象的基本概念........77 7.2类与对象.....................................79 7.2.1 类与对象的关系................79 7.2.2 类的定义与访问................80 7.2.3对象的创建与使用............80 7.2.4访问限制............................81 7.3 构造方法与析构方法.................82 7.3.1 构造方法............................82 7.3.2 析构方法............................83 7.4 类方法和静态方法.....................83 7.4.1 类方法................................84 7.4.2 静态方法............................85 7.5 实例1:银行管理系统...............86 7.6 继承.............................................86 7.6.1 单继承................................86 7.6.2 多继承................................87 7.6.3 方法的重写........................88 7.6.4 super()函数.........................88 7.7 实例2:井字棋...........................89 7.8 多态.............................................89 小结......................................................90 习题...................................................... 90 第8章 模块.........................................93 8.1 模块概述..................................... 93 8.1.1 模块的概念........................ 93 8.1.2 模块的导入方式................ 94 8.1.3常见的标准模块................ 95 8.2 自定义模块................................. 99 8.3 模块的导入特性....................... 100 8.3.1 __all__属性...................... 100 8.3.2 __name__属性................. 101 8.4 Python中的包........................... 101 8.4.1 包的结构.......................... 101 8.4.2 包的导入.......................... 102 8.5第三方模块的下载与安装....... 102 8.6实例1:随机生成验证码......... 103 8.7实例2:绘制多角星................. 104 小结.................................................... 104 习题.................................................... 104 第9章 文件与文件路径操作..............106 9.1 文件的打开和关闭................... 106 9.1.1 打开文件.......................... 106 9.1.2 关闭文件.......................... 107 9.2 从文件中读取数据................... 107 9.2.1 文件的读取...................... 107 9.2.2实例1:身份证归属地查询.................................. 109 9.3 向文件写入数据....................... 109 9.3.1数据写入.......................... 109 9.3.2实例2:通讯录................ 110 V 目 录9.4文件的定位读取.......................110 9.5文件的复制与重命名...............111 9.5.1文件的复制......................111 9.5.2文件的重命名..................111 9.6 目录操作...................................112 9.6.1 创建目录..........................112 9.6.2 删除目录..........................112 9.6.3 获取目录的文件列表......113 9.7 文件路径操作...........................113 9.7.1 相对路径与路径......113 9.7.2 获取当前路径..................114 9.7.3检测路径的有效性..........114 9.7.4 路径的拼接......................114 9.8实例3:用户登录.....................115 小结....................................................115 习题....................................................115 第10章 错误和异常.......................... 117 10.1 错误和异常概述.....................117 10.2 捕获异常.................................119 10.2.1 try…except语句.............119 10.2.2 捕获异常信息................119 10.2.3 else子句..........................121 10.2.4 finally子句......................122 10.3 抛出异常.................................122 10.3.1 raise语句.........................123 10.3.2 异常的传递....................124 10.3.3 assert断言语句...............125 10.4 自定义异常.............................125 10.5 with语句与上下文管理器......126 10.5.1 with语句......................... 126 10.5.2 上下文管理器................ 127 10.5.3 自定义上下文管理器.... 127 10.6实例:身份归属地查询添加异常........................................ 128 小 结............................................ 128 习 题............................................ 128 第11章 正则表达式...........................130 11.1 正则表达式基础知识............. 130 11.1.1 元字符............................ 130 11.1.2 预定义字符集................ 132 11.2 re模块...................................... 133 11.3 预编译..................................... 134 11.4 匹配与搜索............................. 135 11.4.1 使用match()函数进行匹配................................ 135 11.4.2 使用search()函数进行匹配................................ 136 11.4.3 实例1:判断手机号所属运营商............................ 136 11.5 匹配对象................................. 136 11.6 全文匹配................................. 138 11.6.1 findall()函数................... 138 11.6.2 finditer()函数................. 138 11.7 检索替换................................. 139 11.8 实例2:电影信息提取........... 139 11.9 文本分割................................. 139 11.10 贪婪匹配............................... 140 11.11 实例3:用户注册验证......... 141 小结....................................................141 习题....................................................141 第12章 图形用户界面编程............... 143 12.1 tkinter概述...............................143 12.1.1 认识tkinter......................143 12.1.2 构建简单的GUI .............144 12.2 tkinter组件概述.......................148 12.2.1 tkinter核心组件..............148 12.2.2 组件的通用属性............149 12.3基础组件介绍.........................150 12.3.1 标签Label.......................150 12.3.2 按钮Button .....................151 12.3.3 复选框Checkbutton........152 12.3.4 文本框Entry ...................153 12.3.5 单选按钮Radiobutton ....154 12.3.6 列表框List......................155 12.3.7 文本域Text.....................156 12.4 几何布局管理器.....................157 12.4.1 pack布局管理器.............157 12.4.2 grid布局管理器..............158 12.4.3 place布局管理器............159 12.5 事件处理.................................159 12.5.1 command事件处理方式................................159 12.5.2 bind事件处理方式.........160 12.5.3 实例1:秒表计时器......163 12.6 菜单.........................................163 12.6.1 菜单........................163 12.6.2 下拉菜单........................164 12.6.3 弹出菜单........................ 165 12.6.4 实例2:电子计算器...... 166 12.7 消息对话框............................. 166 12.8 实例3:图书管理系统登录界面........................................ 167 小结.................................................... 168 习题.................................................... 168 第13章 进程和线程...........................169 13.1 进程的概念............................. 169 13.2 进程的创建方式..................... 171 13.2.1 通过fork()函数创建进程................................ 171 13.2.2 通过Process类创建进程................................ 173 13.2.3 通过Pool类批量创建进程................................ 174 13.3 进程间通信——Queue .......... 177 13.4 线程的概念............................. 178 13.5 线程的基本操作..................... 179 13.5.1 线程的创建和启动........ 179 13.5.2 线程的阻塞.................... 181 13.6 线程锁..................................... 182 13.6.1 互斥锁............................ 182 13.6.2 死锁................................ 184 13.6.3 可重入锁........................ 186 13.7 线程同步................................. 187 13.7.1 通过Condition类实现线程同步................................ 188 13.7.2 通过Queue类实现线程同步................................ 190 13.8 实例:生产者与消费者模式.........................................192 小结....................................................193 习题....................................................193 第14章 网络编程.............................. 195 14.1 网络概述.................................195 14.1.1 协议与体系结构............195 14.1.2 数据传输流程................197 14.1.3 网络架构........................198 14.1.4 IP地址和端口号.............199 14.2 socket网络编程基础...............201 14.2.1 socket套接字..................201 14.2.2 socket通信流程..............202 14.2.3 socket内置方法..............204 14.2.4实例1:扫描开放端口....206 14.3基于UDP的网络聊天室.........206 14.4 基于TCP的数据转换..............209 14.5 实例2:TCP文件下载............211 14.6 TCP并发服务器......................211 14.6.1 单进程非阻塞服务器....211 14.6.2 多进程并发服务器........214 14.6.3 多线程并发服务器........216 14.7 I/O多路转接服务器................217 14.7.1 select并发服务器...........217 14.7.2 epoll并发服务器............219 小结....................................................222 习题....................................................223 第15章 数据库编程.......................... 224 15.1 数据库基础知识.....................224 15.1.1 数据库概述.................... 224 15.1.2 数据库的分类................ 225 15.2 MySQL与Python交互............ 226 15.2.1 下载和安装MySQL....... 227 15.2.2安装pymysql.................. 238 15.2.3 pymysql常用对象.......... 239 15.2.4 pymysql的使用与示例.. 241 15.3 MongoDB与Python交互........ 243 15.3.1 下载和安装MongoDB... 243 15.3.2 安装pymongo................. 245 15.3.3 pymongo常用对象......... 246 15.3.4 pymongo的使用与示例. 247 15.4 Redis与Python交互................ 248 15.4.1 下载和安装Redis........... 249 15.4.2 安装redis........................ 251 15.4.3 redis常用对象................ 251 15.4.4 redis的使用与示例........ 253 15.5 实例:用户注册登录............. 253 小结.................................................... 254 习题.................................................... 254 第16章Django框架介绍...................256 16.1 前端基础知识......................... 256 16.1.1 HTTP协议...................... 256 16.1.2 HTML简介.................... 259 16.1.3 CSS简介......................... 260 16.1.4 JavaScript简介............... 261 16.2 WSGI ...................................... 262 16.2.1 WSGI规范..................... 262 16.2.2 WSGI服务器................. 263 VIII Python 程序开发案例教程 16.3 初识Django .............................265 16.4 个Django项目——用户登录.........................................266 16.4.1 项目准备........................266 16.4.2编写视图函数................271 16.4.3 设计模板文件................273 16.4.4 配置访问路由................274 16.4.5 演示项目功能................274 小结....................................................275 习题....................................................276 第17章 项目实战——天天生鲜........ 277 17.1 天天生鲜项目页面展示.........277 17.2 前期准备.................................280 17.2.1 需求分析........................280 17.2.2 数据库设计....................281 17.2.3 项目创建........................282 17.2.4 定义模型类....................282 17.2.5 迁移文件........................283 17.2.6配置静态文件................284 17.3商品展示页面功能实现.........285 17.3.1创建视图函数................285 17.3.2创建模板文件................286 17.3.3 配置路由........................287 17.4 商品详情页面功能实现.........287 17.4.1 创建视图函数................ 287 17.4.2 实现商品购买功能........ 288 17.4.3 创建模板文件................ 289 17.4.4配置路由........................ 290 17.5商品分类页面功能实现......... 290 17.5.1创建视图函数................ 290 17.5.2创建模板文件................ 292 17.5.3配置路由........................ 293 17.6 购物车页面功能实现............. 294 17.6.1 创建视图函数................ 294 17.6.2 实现删除商品的功能.... 294 17.6.3 创建模板文件................ 295 17.6.4配置路由........................ 295 17.7 订单提交页面功能实现......... 296 17.7.1 创建视图函数................ 296 17.7.2 实现订单提交功能........ 296 17.7.3 创建模板文件................ 297 17.7.4配置路由........................ 298 17.8 订单提交成功页面功能实现........................................ 298 17.8.1 创建视图函数................ 298 17.8.2 创建模板文件................ 299 17.8.3配置路由........................ 300 小结.................................................... 300
下载地址