《Python程序设计 28 包的使用和模块发布.docx》由会员分享,可在线阅读,更多相关《Python程序设计 28 包的使用和模块发布.docx(6页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、人工智能与大数据学院人工。n程序设计 教案(28)教学标题项目8模块和程序打包任务2包的使用和模块发布授课班级云计算2101课时2场地4403时间2022年6月2日星期四授课教师李力教学设计1.项目/任务价值对于一个需要实际应用的模块而言,往往会具有很多程序单元,包括变量、函数和类等,如果将整个模块的所 有内容都定义在同一个Python源文件中,这个文件将会变得非常庞大,显然并不利于模块化开发。这时就需要 一种方法来集中管理和使用模块,包就是这样一种机制;当我们编写好程序的源代码后,就需要将它布署到对应 的应用场景中。2 .学习目标知识目标1. 了解包的概念和包的使用方法2. 了解搜索路径和环
2、境变量的概念3. 了解模块发布的概念能力目标1 .掌握包的使用方法2 .掌握从包里批量导入模块的几种方法3 .掌握模块发布的方法4 .掌握pylnstall创建可执行文件的操作思政-素质目标1 .线上线下结合,引导学习方式,培养自主学习能力;2 .培养学生积极探索、勇于创新的科学素养;3 .养成小组沟通协作共同学习,解决问题能力和团队合作精神;4 .能按照实训6s管理要求做好课前的准备,课后的整理工作,培养勤俭、奋斗、创新、奉献的劳动精神;3 .学习内容1 .任务描述2 .知识准备:包是一个有层次的文件目录结构,可以包含模块和子包,则此处文件夹就能够作为一个包被导 入;Python解释器导入模
3、块里的搜索路径;名称空间的概念;3 .任务实施:将前面实现的用户登录程序打包,并创建可执行文件;4 .学习资源重庆在线开放课程平台Python开发技术应用,多媒体课件,理实一体化实训室,网络教学资源, www. pythontutor. com可视化工具、www. processor!. com在线流程图绘制工具实物:教材,软件工具包教学重点包的概念和使用;批量导入模块的方法;模块的发布;pylnstall创建可执行文件的方法;教学难点使用变量批量导入包里的模块学情分析模块用于提供常用的函数、类和常量。随着需求的增长,各式各样的模块会被提供到我们的开发环境中,这时 就需要 种方法来集中管理和使
4、用模块,包就是这样 种机制;当我们编写好程序的源代码后,发布模块,可实 现模块的重用和共享。教学策略教学方法:训练与练习法;情境教学法 教学模式:采用线上线下混合教学模式 本次课教学流程:1 .讲解包的概念和包的使用方法;2 .讲解搜索路径和环境变量的概念;3 .讲解从包里批量导入模块的几种方法;4 .讲解模块发布的方法;5 .讲解pylnstall创建可执行文件的操作;教学实施 过程教学环节学生、教师活动教学方法、手段 及思政设计时间 分配课程导学:对于一个需要实际应用的模块而言,往往会具有很多程序单元, 包括变量、函数和类等,如果将整个模块的所有内容都定义在同一个 Python源文件中,这
5、个文件将会变得非常庞大,显然并不利于模块化开 发。为了更好地管理多个模块源文件,Python提供了包的概念。介绍包的概念和作用;回顾项目5的用户登录程 序,思考如何改进? 思考程序编写好后如何分 发共享?介诵模块发布的发布概念;多媒体演示 信息调研 讲授、讨论、案例教学 课前发布导学单,线上线 下结合,引导学习方式转 变,培养自主学习能力。 小组协作、沟通、互助学3习,培育团队合作意识, 引导学生大胆表达。引入项目学习任务和目标任务1包的使用和模块发布工作内容:1 .讲解包的概念和包的使用方法;2 .讲解搜索路径和环境变量的概念;3 .讲解从包里批量导入模块的几种方法;4 .讲解模块发布的方法
6、;5 .讲解pylnstall创建可执行文件的操作;讲解包的概念,演示包的使 用方法;多媒体演示启发式教学小组作品展示和讲解2任务实施任务1包的使用和模块发布主体内容:步骤1包的概念和包的使用方法包是一个有层次的文件目录结构,它可以包含模块和子包,这些有联系的模块被 组合在一起,能够以一个整体被导入。包的好处主要有两个:使模块具有目录结构,避免了管理上的混乱;能够解决模块名称的冲突。文件夹里如果包含了一个py文件,则此文件夹就能够作为一个包被导 入。就像类和模块那样,包也使用句点来访问其中的内容。步骤2搜索路径和环境变量的概念导入模块或包的时候,模块或包对应的文件必须位于Python能识别的位
7、置。,* C:Python37python37. zip,,C:Python37DLLs,,C:Python37lib,C:Python37,* C:Python37libsite-packages 如果在这些路径下找不到你要导入的.py文件,会产生ImportErroro相关变量思考并答题: 包的好处有哪些?课内案例习题:学生聆听老师讲解,观看老 师编码实现,师生共同总结 流程要点,梳理脉络,形成 自然语言或伪代码描述的 文档,学生根据此文档重新 编码,实现程序。多媒体演示 启发式教学思政设计:作为技术人 员,对产品要精益求精, 否则产品没有竞争力,终 将被行业淘汰。为普通用户编写的程序 应
8、该打包为可执行文件, 程序员必须为用户考虑 周到,是基本职业道德。45sys. path: 一个字符串列表,是Python的环境变量,可以通过列表方法修改 sys. modules:是一个字典,键记录了模块和包的名称,值记录了模块路径。 映射和引用使用导入的内容时,包和模块的名称作为前缀,是整个对象名称的重要组成部分。 它使每个变量、函数和类都有唯一的完全限定名称(Fully Qualified Name, FQN)o名称空间是名称(标识符)和对象之间的映射。赋值就是引用,是把对象引用到 名称,重新赋值就是重新引用。所以,映射和引用是同一个概念在不同语境下的表 达。名称空间和作用域相对应。全局
9、作用域中有全局名称空间,局部作用域有局部名 称空间。Built-in (Python)Names preassigned in the bui lt-in names module: opoen, range, SyntaxError Global(Module)Names assigned at the top-level of a module file, or declared global in a def within theLocal(Function)Names assigned in any way within a function (def or lambda), and
10、not declared global in that function.步骤3从包里导入模块的几种方法导入包并不是导入包里的所有模块。有几种方法可以导入包里的模块: 直接导入包里指定目录下的指定模块:import packagcNamc. modulcNamc这种方法要求你使用全名来访问模块中的内容。使用from - i mport语句:from packageName import moduleName 使用这种方法,你可以仅引用模块名,省去包名。可以在包的py文件中定义一个名为的列表,将包里的各个模块 作为列表各元素的值,例如:all = moduleNameT , moduleName
11、2,.然后你就可以使用以下语法批量导入:from packageName import *可以在init. py文件里加上import语句来导入对应的模块。例如:# packageName/_init_. py import moduleName1 import moduleName2步骤4模块发布 如果要将自己编写的模块和包提供给团队成员、社区开发者,应该将其打包 再发布。 除了定义标准化的安装方法,打包过程还将携带模块/包的相关信息,包括作 者、主页、邮箱等。distutils既是一个模块,也是一个包,其中包含了很多子模块。其中 distutils. core可以用来为你的Python模块
12、创建setup, py文件。创建发布程序或 模块的步骤如下:1 .将各代码文件(顶层文件、模块等)组织到模块容器(目录)中;2 .准备一个README. TXT文件(可选);3 .在容器中创建setup, py文件,其中包含了一系列关键信息;4 .在命令行界面中使用setup, py sdist命令,通过参数来控制打包格式、支持 的平台等。步骤5 pylnstall创建可执行文件Pyinstaller是一个可以将Python源代码直接创建为exe可执行文件的工具,与 你想象的可能不同,它会把Python解释器和用户自己的脚本打包成一个可执行的文 件,这与编译成真正的机器码完全是两回事。Pyth
13、on默认并不包含Pyinstaller模块,因此需要自行安装Pyinstaller模 块。安装Pyinstaller模块与安装其他Python模块一样,使用pip命令安装即可。Pyinstaller工具的命令语法如卜.:pyinstaller 选项 Python 源文件不管这个Python应用是单文件的应用,还是多文件的应用,只要在使用 pyinstaller命令时编译作为程序入口的Python程序即可。Pyinstaller工具是跨平台的,它既可以在Windows平台上使用,也可以在Mac OS X平台上运行。在不同的平台上使用Pyinstaller工具的方法是一样的,它们支持 的选项也是一
14、样的。深化:启发性探讨:前面实现的用户登录程序如何设计模块和包?如何设计程序组织结构?小组讨论多媒体演示 讨论教学13总结:1 .讲解包的概念和包的使用方法;2 .讲解搜索路径和环境变量的概念;3 .讲解从包里批量导入模块的几种方法;4 .讲解模块发布的方法;5 .讲解pylnstall创建可执行文件的操作;小组总结 引导同学总结抢答互动教学5任务:将用户登录程序划分为如下模块1 .验证码的生成和校验模块2 .创建新用户账户模块3 .密码核对和锁定检测模块4 .用户登录主程序学生实践教师辅导答疑多媒体互动式教学20学业评价小组评价和个人综合评价(课堂讨论的参与、是否认真笔记)2教学反思补充教学反思主要问题解决办法本次课的做得好的地方