关于我们
书单推荐
新书推荐
|
Python开发实例大全 下卷
本书内容齐全,通过范例循序渐进地讲解了开发Python应用程序的知识。本书主要内容包括:Python图形图像开发、多线程开发、Python游戏开发、数据可视化、Flask Web开发、Django Web开发、Python算法等知识。
本书既适合零基础的人员学习,也适合已经了解了Python基础语法的、希望进一步提高Python开发水平的读者阅读,还可作为程序员的参考书。
1.内容丰富,范例众多
本书的范例几乎覆盖了主流的Python应用领域,通过讲解众多的实例,帮助读者有效地学习和使用Python的强大功能,并逐步步入Python开发高手之列。 2.贴心提示和注意事项提醒 本书根据需要安排了“注意”等小板块,帮助读者理解相关知识点及概念,更快地掌握Python的应用技巧。 3.通过提供答疑服务 读者阅读本书时,无论遇到任何问题,都可以通过QQ群随时与笔者互动。
张善香 Java、C++、PHP、Python等开发语言,现在负责云的研发和架构工作。从2014年起便开始研究机器学习课题,是国内最早从事相关研究的专家之一。
目 录
第 10章 图形图像开发实战1 10.1 使用Pillow库2 范例10-01:安装Pillow库2 范例10-02:使用Image模块创建随机大小图片2 范例10-03:使用Image模块打开一幅图片3 范例10-04:实现图片透明度混合3 范例10-05:实现图片遮罩混合处理4 范例10-06:缩放指定图片5 范例10-07:使用Image模块缩放指定图片5 范例10-08:对指定图片实现剪切和粘贴功能6 范例10-09:对指定图片的格式进行转换6 范例10-10:旋转指定图片7 范例10-11:对指定图片实现过滤模糊操作8 范例10-12:使用其他内置函数8 范例10-13:使用Pillow绘制随机点阵图和点阵图9 范例10-14:将PNG图片转换为可读写的RLE图片10 范例10-15:使用ImageChops模块实现图片合成13 范例10-16:实现图像增强处理13 范例10-17:实现同时增强处理多幅图像14 范例10-18:对指定图片实现滤镜特效15 范例10-19:使用ImageDraw模块绘制二维图像16 范例10-20:使用ImageFont模块绘制二维图像17 范例10-21:生成随机验证码图片18 范例10-22:使用ImageFont模块绘制验证码18 范例10-23:绘制指定年份的日历19 10.2 pyBarcode库实战20 范例10-24:创建EAN-13标准的条形码20 范例10-25:将创建的EAN-13标准条形码保存为PNG图片20 范例10-26:创建两个条形码图片21 10.3 使用库qrcode创建二维码21 范例10-27:将文本信息生成为一个二维码21 范例10-28:将网址信息生成为一个二维码22 范例10-29:将网址信息生成为一个指定样式二维码22 范例10-30:将网址信息生成为一个带有素材图片的二维码23 范例10-31:使用qrcode开发一个二维码生成器24 10.4 scikit-image开发实战26 范例10-32:安装scikit-image26 范例10-33:使用skimage读入并显示外部图像26 范例10-34:读取并显示外部灰度图像27 范例10-35:读取并显示内置星空图片27 范例10-36:读取并保存内置星空图片28 范例10-37:显示内置星空图片的基本信息29 范例10-38:实现内置猫图片的红色通道的效果29 范例10-39:对内置猫图片进行二值化操作30 范例10-40:对内置猫图片进行裁剪处理31 范例10-41:将unit8类型转换成float类型31 范例10-42:将float类型转换成unit8类型31 范例10-43:将RGB图转换为灰度图32 范例10-44:使用skimage实现绘制图片功能32 范例10-45:使用subplot()函数绘制多视图窗口图片33 范例10-46:使用subplots()函数绘制多视图窗口图片34 范例10-47:使用viewer绘制并显示内置月亮图片35 范例10-48:显示系统内指定素材图片35 范例10-49:读取并显示文件夹pic中JPG图片的个数36 范例10-50:将指定素材图片批量转换为灰度图36 范例10-51:使用函数concatenate_images(ic)连接图片37 范例10-52:改变指定图片的大小37 范例10-53:使用函数rescale()缩放指定图片38 范例10-54:使用函数rotate()旋转指定图片38 10.5 使用face_recognition 实现人脸识别39 范例10-55:搭建开发环境39 范例10-56:显示指定人像的人脸特征39 范例10-57:在指定照片中识别人脸40 范例10-58:识别照片中的所有人脸41 范例10-59:判断照片中是否包含某个人脸43 范例10-60:识别照片中的人到底是谁43 范例10-61:摄像头实时识别44 第 11章 多线程开发实战46 11.1 使用threading模块47 范例11-01:使用_thread模块创建2个线程47 范例11-02:直接在线程中执行函数47 范例11-03:通过继承类threading.Thread创建线程48 范例11-04:使用方法join()实现线程等待48 范例11-05:使用RLock实现线程同步49 范例11-06:使用Lock对临界区加锁49 范例11-07:使用上下文管理器避免死锁50 范例11-08:测试前面上下文管理器文件的功能51 范例11-09:5位哲学家就餐问题52 范例11-10:使用Condition实现一个捉迷藏游戏53 范例11-11:实现一个周期性的定时器54 范例11-12:使用Semaphore对象执行4个线程55 范例11-13:只唤醒一个单独的等待线程55 范例11-14:使用BoundedSemaphore对象执行4个线程56 范例11-15:使用Event对象实现线程同步57 范例11-16:使用Event对象同步线程的启动57 范例11-17:使用Timer设置线程延迟5s后执行58 范例11-18:使用local对象管理线程局部数据59 范例11-19:使用local()创建一个线程本地存储对象59 11.2 使用进程库multiprocessing60 范例11-20:使用Process对象生成进程60 范例11-21:使用Pipe对象创建双向管道61 范例11-22:使用Queue对象放入进程61 范例11-23:使用Connection对象处理数据62 范例11-24:使用Shared对象在共享内存中创建共享ctypes对象62 范例11-25:使用Manager对象操作列表63 范例11-26:使用Manager对象共享对象类型63 范例11-27:使用Proxy对象共享对象类型64 范例11-28:使用Pool对象创建多个进程并实现并发处理65 范例11-29:使用Pool对象实现进程调度65 范例11-30:使用Pool对象并行处理某个目录下的文件66 范例11-31:使用线程和队列实现Actor并发编程模式67 范例11-32:使用元组的形式传递带标签消息68 范例11-33:实现一个Actor并发编程模式的变种69 11.3 使用库concurrent.futures69 范例11-34:使用submit()方法操作线程池70 范例11-35:使用map()方法返回迭代器结果70 范例11-36:使用wait()方法返回一个元组70 范例11-37:使用ThreadPoolExecutor实现异步调用71 范例11-38:使用ProcessPoolExecutor实现异步调用71 范例11-39:使用线程池服务 客户端72 范例11-40:手动创建自己的 线程池73 范例11-41:使用ThreadPoolExecutor 创建线程池的优势73 范例11-42:读取数据并标识出 所有访问过文件73 范例11-43:实现多核读取操作74 范例11-44:使用类Future实现 封装操作75 范例11-45:使用生成器代替 线程实现并发76 范例11-46:使用生成器来实现Actor并发77 11.4 使用sched模块78 范例11-47:使用类scheduler实现时间调度78 范例11-48:使用scheduler对象实现时间调度78 范例11-49:使用sched()方法定时执行任务79 范例11-50:使用sched循环执行任务79 范例11-51:使用queue模块实现线程之间数据通信80 范例11-52:构建一个线程安全的优先级队列81 范例11-53:实现FIFO队列82 范例11-54:实现LIFO队列83 范例11-55:使用模块queue实现优先级队列83 范例11-56:轮询多个线程队列83 11.5 使用模块subprocess85 范例11-57:使用模块subprocess创建子进程85 范例11-58:使用类Popen创建进程并执行指定源码86 第 12章 Python游戏开发实战87 12.1 简单的小游戏88 范例12-01:猜数游戏88 范例12-02:龙的世界游戏89 范例12-03:Hangman游戏90 范例12-04:恺撒密码游戏94 范例12-05:维吉尼亚密码游戏94 范例12-06:Reversi黑白棋游戏95 范例12-07:石头、剪子、布游戏99 12.2 Pygame游戏开发初级实战101 范例12-08:安装Pygame101 范例12-09:开发第 一个Pygame程序102 范例12-10:处理键盘事件103 范例12-11:在全屏显示模式和非全屏显示模式之间进行切换104 范例12-12:显示指定样式文字104 范例12-13:实现一个三原色颜色滑动条效果105 范例12-14:随机在屏幕上绘制点106 范例12-15:随机在屏幕中绘制各种多边形107 12.3 Pygame游戏开发高级实战108 范例12-16:开发一个俄罗斯方块游戏108 范例12-17:仿微信飞机游戏115 范例12-18:简单的贪吃蛇游戏117 范例12-19:推箱子游戏120 范例12-20:吃苹果游戏123 范例12-21:简易跑酷游戏125 范例12-22:小猫吃鱼游戏128 范例12-23:分析官网的坦克大战游戏129 范例12-24:两种贪吃蛇游戏方案132 范例12-25:简易俄罗斯方块游戏139 12.4 Cocos2d游戏开发实战140 范例12-26:第 一个Cocos2d程序140 范例12-27:创建层141 范例12-28:在层中添加事件142 范例12-29:在层中添加动作143 范例12-30:在层中使用鼠标按键事件144 范例12-31:使用地图145 范例12-32:2048游戏145 范例12-33:贪吃蛇游戏147 范例12-34:水果连连看游戏148 范例12-35:AI智能贪吃蛇方案149 范例12-36:AI智能五子棋游戏152 第 13章 数据可视化实战156 13.1 使用Matplotlib157 范例13-01:安装Matplotlib157 范例13-02:绘制散点图158 范例13-03:绘制一个简单的折线图159 范例13-04:设置标签文字和线条粗细160 范例13-05:绘制指定样式的散点图160 范例13-06:绘制柱状图161 范例13-07:绘制有说明信息的柱状图162 范例13-08:绘制一个比较美观的柱状图163 范例13-09:绘制多幅子图165 范例13-10:在一个坐标系中绘制两个折线图166 范例13-11:使用正弦函数和余弦函数绘制曲线167 范例13-12:使用Matplotlib的默认配置绘图167 范例13-13:绘制随机漫步图168 范例13-14:绘制3D图表170 范例13-15:绘制波浪图171 范例13-16:绘制散点图171 范例13-17:绘制等高线图171 范例13-18:绘制饼状图172 范例13-19:大数据分析2014年最高温度和最低温度173 范例13-20:在tkinter中使用Matplotlib绘制图表174 13.2 使用库pygal175 范例13-21:安装库pygal176 范例13-22:使用pygal模拟掷骰子176 范例13-23:模拟同时掷两个骰子177 13.3 读写处理CSV文件178 范例13-24:输出CSV文件中的日期和标题178 范例13-25:将数据保存为CSV格式179 范例13-26:读取指定CSV文件的文件头179 范例13-27:输出CSV文件的文件头和对应位置180 范例13-28:输出CSV文件中每天的最高气温180 范例13-29:根据CSV文件数据绘制图表181 范例13-30:提取CSV数据并保存到MySQL数据库181 范例13-31:提取CSV数据并保存到SQLite数据库184 13.4 使用库pandas185 范例13-32:安装库pandas并测试是否安装成功185 范例13-33:读取并显示CSV文件中的前3条数据186 范例13-34:更加规整地读取并显示CSV文件中的前3条数据186 范例13-35:读取并显示CSV文件中的某列数据187 范例13-36:用统计图表展示CSV中的某列数据187 范例13-37:选择指定数据188 范例13-38:显示CSV文件中某列和某行数据188 范例13-39:在图表中统计显示CSV文件中的出现次数前10名信息191 范例13-40:统计文件bikes.csv中每个月的骑行数据192 范例13-41:输出某街道前5天的骑行数据192 范例13-42:使用时间序列功能193 范例13-43:获取某一天是星期几193 范例13-44:统计周一到周日每天的骑行数据193 范例13-45:使用Matplotlib图表统计周一到周日每天的骑行数据194 范例13-46:使用Matplotlib统计某区域的全年天气数据194 范例13-47:输出CSV文件中的全部天气信息195 13.5 使用库NumPy195 范例13-48:安装库NumPy并创建一个2×3的二维数组196 范例13-49:索引数组中的元素196 范例13-50:使用内置函数操作数组196 范例13-51:使用arange()函数创建数组并进行迭代197 范例13-52:数组转置和修改197 范例13-53:返回展开为一维数组的副本197 范例13-54:使用字符串函数198 范例13-55:使用正弦、余弦和正切函数199 范例13-56:使用算术函数实现四则运算199 范例13-57:从给定数组的元素中沿指定轴返回最小值和最大值200 范例13-58:使用函数sort()实现快速排序200 范例13-59:使用函数byteswap()实现字节交换201 范例13-60:使用函数empty()返回一个矩阵202 范例13-61:在NumPy中使用Matplotlib202 范例13-62:使用Matplotlib绘制正弦波图203 范例13-63:使用Matplotlib绘制直方图203 第 14章 Flask Web开发实战204 14.1 Flask Web初级实战205 范例14-01:安装Flask205 范例14-02:第 一个Flask Web程序205 范例14-03:使用PyCharm开发Flask程序206 范例14-04:传递URL参数208 范例14-05:使用GET请求获取URL参数208 范例14-06:使用cookie跟踪用户行为209 范例14-07:使用Flask-Script扩展增强程序功能210 范例14-08:使用模板211 范例14-09:使用Flask-Bootstrap 扩展212范例14-10:使用Flask-Moment 扩展本地化日期和时间214 范例14-11:使用Flask-WTF扩展处理Web表单215 范例14-12:文件上传系统217 范例14-13:用户注册登录系统218 范例14-14:使用Flask-SQLAlchemy管理数据库220 范例14-15:使用Flask-Mail 扩展发送电子邮件222 范例14-16:使用SendGrid发送邮件225 14.2 Flask Web高级实战227 范例14-17:Python+Flask+MySQL开发信息发布系统227 范例14-18:图书借阅管理系统230 范例14-19:Flask+TinyDB实现个人日志系统235 范例14-20:使用Peewee+Flask+MySQL开发一个在线留言系统240 范例14-21:使用Flask+MySQL 开发一个信息发布系统241 第 15章 Django Web开发实战245 15.1 Django Web初级实战246 范例15-01:安装Django246 范例15-02:第 一个Django项目246 范例15-03:在URL中传递参数248 范例15-04:使用模板250 范例15-05:使用表单251 范例15-06:实现基本的数据库操作252 15.2 Django Web高级实战253 范例15-07:使用Django后台管理系统开发一个博客系统253 范例15-08:开发一个新闻聚合系统256 范例15-09:开发一个在线商城系统262 范例15-10:智能书签管理系统270 范例15-11:智能新闻发布系统274 范例15-12:智能图书借阅系统277 范例15-13:Django+ Vue在线聊天室系统280 15.3 使用库Mezzanine281 范例15-14:使用Mezzanine开发一个内容管理系统281 范例15-15:基于Cartridge的购物车程序283 范例15-16:在线BBS论坛系统285 第 16章 三维立体程序开发实战290 16.1 使用Matplotlib绘制三维图形291 范例16-01:绘制一个简单的3D图形291 范例16-02:绘制3D曲线291 范例16-03:绘制3D轮廓图292 范例16-04:绘制3D直方图293 范例16-05:绘制3D网状线293 范例16-06:绘制3D三角面片图293 范例16-07:绘制3D散点图294 范例16-08:绘制3D文字295 范例16-09:绘制3D条形图296 范例16-10:绘制3D曲面图296 范例16-11:绘制3D散点图297 范例16-12:绘制混合图298 范例16-13:绘制子图298 范例16-14:绘制3D坐标系299 16.2 使用OpenGL绘制三维图形300 范例16-15:安装PyOpenGL301 范例16-16:第 一个PyOpenGL程序301 范例16-17:点线面的绘制302 范例16-18:绘制平方曲线304 范例16-19:绘制立方曲线305 范例16-20:绘制艺术图像306 范例16-21:绘制不同的线条307 范例16-22:绘制平滑阴影三角形308 范例16-23:渲染一个简单的立方体309 范例16-24:实现灯光渲染309 范例16-25:灯光渲染陈列茶壶310 范例16-26:控制旋转物体313 范例16-27:实现一个简单的动画313 范例16-28:实现旋转复杂图形的动画314 范例16-29:实现一个简单的3D游戏315 范例16-30:移动的3D立方体319 范例16-31:飞翔的立方体世界320 16.3 使用Panda3D绘制三维图形321 范例16-32:安装Panda3D并 创建第 一个Panda3D程序321 范例16-33:熊猫游戏324 范例16-34:迷宫中的小球游戏324 范例16-35:飞船大作战游戏328 范例16-36:拳击赛游戏330 范例16-37:超级大恐龙331 范例16-38:熊猫游乐场游戏332 范例16-39:魔幻迪厅游戏332 范例16-40:魔幻萤火虫之夜333 范例16-41:奔跑的精灵333 第 17章 Python算法实战334 17.1 常用的算法思想实战335 范例17-01:使用递归函数创建质数335 范例17-02:实现拓扑排序335 范例17-03:使用分治算法求顺序表的最大值335 范例17-04:判断某个元素是否在其中336 范例17-05:找出一组序列中的第k小的元素336 范例17-06:使用回溯法求集合{1, 2, 3, 4}的所有子集337 范例17-07:获取[1,2,3,4]的所有排列338 范例17-08:回溯法的8“皇后”问题339 范例17-09:使用回溯法解决迷宫问题340 范例17-10:使用回溯法解决背包问题341 范例17-11:找出从正整数1,2,3…n中任取r个数的所有组合342 范例17-12:使用回溯法实现图的遍历343 范例17-13:使用回溯法解决旅行者交通费用问题344 范例17-14:使用回溯法解决图的着色问题346 范例17-15:实现 a、b、c、d 4个元素的全排列347 范例17-16:解决选排列问题348 范例17-17:解决最佳作业调度问题350 范例17-18:最长公共子序列351 范例17-19:爬楼梯问题352 范例17-20:使用穷举法计算24点353 范例17-21:穷举指定长度的所有字符串353 范例17-22:使用穷举法计算平方根354 范例17-23:解决一个数学问题354 范例17-24:使用递归法计算斐波那契数列的第n项355 范例17-25:使用递归法计算两个数的乘积355 范例17-26:计算n的阶乘356 范例17-27:使用递归算法解决“汉诺塔”问题356 范例17-28:利用递归算法获取 斐波那契数列前n项的值358 范例17-29:利用切片递归方式查找数据358 范例17-30:顺时针90°调换二维数组中的数据359 范例17-31:换零钱的问题359 范例17-32:使用递归算法实现二分法查找360 范例17-33:小球弹跳递归计算距离360 范例17-34:深度优先与广度优先遍历的递归实现360 17.2 排序操作算法实战362 范例17-35:实现快速排序362 范例17-36:实现合并排序363 范例17-37:使用递归算法实现快速排序363 范例17-38:实现冒泡排序363 范例17-39:实现从大到小的冒泡排序364 范例17-40:冒泡排序的另外方案364 范例17-41:冒泡排序的降序排列365 范例17-42:实现基本的快速排列366 范例17-43:实现插入排序366 范例17-44:实现无序数据的插入排序367 范例17-45:实现固定数据的插入排序367 范例17-46:排序随机生成的0~100的数值368 范例17-47:实现选择排序368 范例17-48:实现直接选择排序369 范例17-49:实现选择排序的操作步骤369 范例17-50:选择排序和Python 内置函数的效率对比370 范例17-51:使用选择排序处理字符371 范例17-52:排序处理多个队列372 范例17-53:使用堆排序372 范例17-54:使用堆排序处理数据373 范例17-55:将数组按照堆输出374 范例17-56:在堆内实现任意查找374 范例17-57:实现最小堆375 范例17-58:使用堆进行排序376 范例17-59:实现大顶堆排序377 范例17-60:实现堆排序的3种方式378 范例17-61:实现基数排序379 范例17-62:实现桶排序380 范例17-63:实现计数排序380 范例17-64:实现希尔排序381 范例17-65:展示希尔排序的步骤381 范例17-66:利用希尔排序排列一个列表382 范例17-67:实现折半插入排序382 范例17-68:实现归并排序383 范例17-69:使用归并排序处理指定列表384 范例17-70:归并排序的另外解决方案384 范例17-71:使用归并排序处理两个列表385 范例17-72:浮点数的归并排序385 范例17-73:使用折半查找算法386 范例17-74:展示归并排序的处理步骤387 17.3 经典数据结构开发实战387 范例17-75:汉诺塔问题387 范例17-76:简单的爬楼梯问题387 范例17-77:最近点对问题388 范例17-78:从数组中找出指定和的数值组合389 范例17-79:找零问题390 范例17-80:马踏棋盘391 范例17-81:渡过问题392 范例17-82:1000以内的完全数393 范例17-83:多进程验证哥德巴赫猜想394 范例17-84:高斯消元法解线性方程组395 范例17-85:歌星大奖赛398 范例17-86:捕鱼和分鱼398 范例17-87:平分7筐鱼399 范例17-88:百钱买百鸡400
你还可能感兴趣
我要评论
|