温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,汇文网负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。
网站客服:3074922707
开发
技术
应用
Python
I 高等职业教育云计算系列规划教材 云开发技术应用(Python)李 力 李清莲 主 编 郎登何 左 岑 李 萍 副主编 Publishing House of Electronics Industry 北京BEIJING II 内 容 简 介 本书共 14 个项目,从 Python 语言的起源、发展前景和优缺点开始,介绍了 Python 的安装和配置、数据类型及运算符、流程控制、序列和字典、文件处理、函数等,内容由浅入深,循序渐进,逐步引入高级话题,包括面向对象编程、模块和包、异常处理、图形用户界面编程、数据库、网络编程、多线程和多进程编程、Web 开发等。本书内容精练全面、编排合理,适合作为高职高专计算机类教材或教学参考书,也可作为应用型本科相关专业教材,还可以作为软件开发技术人员的参考书和各类程序开发培训机构的培训资料。未经许可,不得以任何方式复制或抄袭本书之部分或全部内容。版权所有,侵权必究。图书在版编目(CIP)数据 云开发技术应用:Python/李力,李清莲主编.北京:电子工业出版社,2018.9 高等职业教育云计算系列规划教材 ISBN 978-7-121-34417-6.云 .李 李 .软件工具程序设计高等职业教育教材 .TP311.561 中国版本图书馆 CIP 数据核字(2018)第 124238 号 策划编辑:徐建军()责任编辑:韩玉宏印 刷:装 订:出版发行:电子工业出版社 北京市海淀区万寿路 173 信箱 邮编 100036 开 本:7871 092 1/16 印张:18.25 字数:467.2 千字 版 次:2018 年 9 月第 1 版 印 次:2018 年 9 月第 1 次印刷 印 数:1 500 册 定价:42.00 元 凡所购买电子工业出版社图书有缺损问题,请向购买书店调换。若书店售缺,请与本社发行部联系,联系及邮购电话:(010)88254888,88258888。质量投诉请发邮件至 ,盗版侵权举报请发邮件至 。本书咨询联系方式:(010)88254570。III Python 是目前较流行的编程语言之一,它是开源的,并且有极其活跃的社区,拥有许多强大的模块及第三方库,并且许多有用的“轮子”仍然被不断地发明出来。这些“轮子”能胜任许多不同领域的开发工作,包括但不限于通用应用程序、服务器运维、自动化插件、网站、软件即服务(SaaS)产品、网络爬虫、数值分析、科学计算、人工智能等。Python 也是一门非常易学的语言,学习成本较低,见效快。另外,Python 的开发效率也非常高,能够让开发者在极短的时间内实现一个产品原型,从而抢占商机。Python 在云计算、大数据和网络编程等领域有着极为广泛的应用,像 OpenStack 这样优秀的云平台就是由 Python 实现的,许多平台即服务(PaaS)产品都支持 Python 作为开发语言。近年来,随着 AlphaGo 几番战胜人类顶级棋手,深度学习为人工智能指明了方向。Python 语言简单针对深度学习的算法,以及独特的深度学习框架,将在人工智能领域编程语言中占重要地位。学习 Python,无论是对将来就业,还是对个人长远的发展,都是非常有利的。和 Python 目前火热的应用现状和良好的发展前景相对照,国内的高职高专院校欠缺优秀的教学资源,这也是我们编写本书的原因。本书从 Python 基本知识开始,介绍 Python 语法特性和编程基础,由浅入深,逐步过渡到 Python 开发的高级话题。本书共 14 个项目,分别讲述了 Python 的安装和配置、数据类型及运算符、流程控制、序列和字典、文件处理、函数及函数式编程、面向对象编程、模块和包、异常处理、图形用户界面编程、数据库、网络编程、多线程和多进程编程、Web 开发。在内容结构上,本书兼顾了传统教材的全面和任务驱动式教材的高效,适合高职高专和应用型本科院校的教学。本书由重庆电子工程职业学院计算机学院的教师和中国电子科技集团公司第五十五研究所的专家共同策划并组织编写。本书由重庆电子工程职业学院的李力、李清莲担任主编,由郎登何、左岑、李萍担任副主编。在编写过程中,武春岭教授热情相助,提出了宝贵意见,在此表示衷心感谢。为了方便教师教学,本书配有电子教学课件,请需要的教师登录华信教育资源网()注册后免费下载,如有问题可在网站留言板留言或与电子工业出版社联系(E-mail:)。虽然我们精心组织,认真编写,但疏漏之处在所难免,同时,由于编者水平有限,书中也存在诸多不足之处,恳请广大读者给予批评和指正,以便在今后的修订中不断改进。编 者 V 项目 1 Python 语言概述及安装、配置 (1)1.1 任务 1 认识 Python 语言 (1)1.1.1 Python 的起源和发展前景 (1)1.1.2 Python 的优缺点 (2)1.1.3 Python 与云计算 (5)1.2 任务 2 下载和安装 Python (6)1.2.1 Python 版本差异 (6)1.2.2 Python 虚拟机简介 (6)1.2.3 下载 Python (7)1.2.4 在 Windows 环境下安装 Python (8)1.2.5 在 Windows 下配置 Python 环境 (8)1.2.6 在 Linux/UNIX 下使用 Python 源代码安装 Python (9)1.3 任务 3 使用开发工具 (11)1.3.1 使用交互式解释器 (11)1.3.2 使用文本编辑器 (11)1.3.3 使用集成开发环境 (12)1.3.4 使用 Python 增强工具 (12)1.4 任务 4 获取帮助和查看文档 (13)1.4.1 查看特定对象的可用操作 (13)1.4.2 文档字符串 (14)1.4.3 使用帮助函数 (14)1.4.4 使用文档 (14)1.5 小结 (14)1.6 习题 (15)项目 2 数据类型、运算符和用户交互 (16)2.1 任务 1 掌握 Python 数据类型 (16)2.1.1 基本数据类型 (16)VI 2.1.2 容器数据类型 (17)2.2 任务 2 掌握运算符及其优先级 (18)2.2.1 运算符 (18)2.2.2 运算符的优先级 (21)2.3 任务 3 了解 Python 代码的规范性要求 (21)2.3.1 合法的变量名 (22)2.3.2 转义字符 (22)2.3.3 编写注释 (23)2.3.4 单行多语句与单句跨行 (23)2.4 任务 4 程序设计:手机屏幕 PPI 测算器 (24)2.4.1 程序功能设计与分析 (24)2.4.2 数学运算与 math 模块 (24)2.5 任务 5 初步了解 Python 中的对象和工厂函数 (25)2.5.1 不可变对象 (25)2.5.2 可变对象 (26)2.5.3 工厂函数 (26)2.6 任务 6 了解 Python 程序的交互方法 (26)2.6.1 input()函数 (26)2.6.2 raw_input()函数 (27)2.6.3 print 语句的特性 (27)2.6.4 格式化输出 (28)2.6.5 任务:输出员工信息表 (29)2.7 小结 (30)2.8 习题 (30)项目 3 流程控制 (31)3.1 任务 1 了解语句块和程序流程图 (31)3.1.1 语句块与缩进 (31)3.1.2 程序流程图 (32)3.2 任务 2 掌握分支结构 (32)3.2.1 单条件分支结构 (33)3.2.2 多条件分支结构 (33)3.2.3 嵌套的分支结构 (34)3.2.4 单句多条件和短路逻辑 (36)3.2.5 多个 if 语句块 (36)3.2.6 if 语句的三目运算形式 (37)3.3 任务 3 掌握循环结构 (37)3.3.1 while 语句 (37)3.3.2 break 语句 (39)3.3.3 continue 语句 (40)3.3.4 循环结构中的 else 语句 (40)VII 3.3.5 pass 语句 (41)3.4 任务 4 掌握高级循环:for 循环、推导式及生成器 (42)3.4.1 for 循环 (42)3.4.2 列表推导式 (43)3.4.3 生成器 (44)3.5 小结 (46)3.6 习题 (46)项目 4 容器数据类型:序列、映射和集合 (47)4.1 任务 1 了解序列类型 (47)4.1.1 容器数据类型简介 (47)4.1.2 列表和元祖 (48)4.1.3 序列的索引和切片操作 (48)4.1.4 列表常用方法 (50)4.1.5 列表和数据结构 (50)4.1.6 可变对象的复制 (51)4.1.7 元组 (53)4.1.8 序列类型变量的创建 (54)4.2 任务 2 了解字符串 (54)4.2.1 字符串简介 (54)4.2.2 字符串常用方法 (55)4.2.3 方法和函数的连续调用 (56)4.3 任务 3 了解字符编码 (57)4.3.1 Python 代码中的编码 (57)4.3.2 外部数据编码 (58)4.4 任务 4 了解字典 (58)4.4.1 字典简介 (58)4.4.2 字典的创建和访问 (59)4.4.3 键必须是可哈希的 (60)4.4.4 字典相关方法 (61)4.4.5 子任务:员工信息系统 (61)4.5 任务 5 了解集合 (63)4.5.1 集合简介 (63)4.5.2 可变集合和不可变集合 (64)4.6 小结 (65)4.7 习题 (65)项目 5 文件操作及系统交互 (66)5.1 任务 1 认识文件对象 (66)5.1.1 文件的打开 (66)5.1.2 文件的读取 (67)5.1.3 文件指针操作 (68)VIII 5.1.4 文件的写入 (68)5.1.5 文件和编码 (69)5.1.6 文件的缓冲 (69)5.2 任务 2 掌握文件和目录的管理 (71)5.2.1 文件的复制 (71)5.2.2 文件的删除 (71)5.2.3 文件的属性获取 (72)5.2.4 文件的重命名 (74)5.2.5 目录的创建 (74)5.2.6 目录的删除 (75)5.2.7 显示和改变当前目录 (76)5.2.8 运行系统命令 (76)5.2.9 带有参数的源代码脚本执行方式 (77)5.2.10 子任务:文本替换程序 (77)5.3 任务 3 掌握时间和日期的处理 (78)5.3.1 时间戳及时间元组 (78)5.3.2 格式化时间和日期 (79)5.3.3 程序运行时间控制 (80)5.3.4 日期的置换 (80)5.3.5 日期和时间的差值计算 (81)5.4 任务 4 了解序列化 (82)5.4.1 序列化和反序列化 (82)5.4.2 JSON 和 JSON 化 (83)5.5 任务 5 基于文件存储的用户账户登录功能 (83)5.5.1 程序功能设计 (84)5.5.2 程序实现 (84)5.6 小结 (86)5.7 习题 (86)项目 6 函数 (87)6.1 任务 1 掌握函数的定义和调用 (87)6.1.1 函数的定义和调用 (87)6.1.2 函数对象赋值 (89)6.1.3 位置参数 (89)6.1.4 关键字参数 (90)6.1.5 默认参数 (90)6.1.6 可变参数和关键字收集器 (92)6.1.7 参数组 (93)6.2 任务 2 了解函数的高级特性和功能 (93)6.2.1 作用域和名称空间 (93)6.2.2 在函数中操作全局变量 (95)IX 6.2.3 匿名函数 (95)6.2.4 用函数实现生成器 (96)6.2.5 子任务:重新实现 file.xreadlines()(97)6.2.6 递归函数 (97)6.2.7 函数闭包 (99)6.2.8 装饰器 (99)6.3 任务 3 认识函数式编程 (101)6.3.1 什么是函数式编程 (101)6.3.2 map()(102)6.3.3 reduce()(103)6.3.4 filter()(104)6.3