2022年教会你所有的Python模块使用.docx
《2022年教会你所有的Python模块使用.docx》由会员分享,可在线阅读,更多相关《2022年教会你所有的Python模块使用.docx(17页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、精选学习资料 - - - - - - - - - 看了这篇你就会了全部的python模块使用假如你退出Python 说明器并重新进入,你做的任何定义(变量和方法)都会丢失;因此,假如你想要编写一些更大的程序,为预备说明器输入使用一个 文本编辑器会更好,并以那个文件替代作为输入执行;这就是传奇中的 脚 本;随着你的程序变得越来越长,你可能想要将它分割成几个更易于保护的文 件;你也可能想在不同的程序中使用顺手的函数,而不是把代码在它们之间中 拷来拷去;为了满意这些需要, Python 供应了一个方法可以从文件中猎取定义,在脚本或者说明器的一个交互式实例中使用;这样的文件被称为 模块;模块中的定义可
2、以 导入 到另一个模块或 主模块 中(在脚本执行时可以调用的变量集位于最高级,并且处于运算器模式);模块是包括 Python 定义和声明的文件;文件名就是模块名加上 .py 后缀;模块的模块名(做为一个字符 串)可以由全局变量 _name_ 得到;例如,你可以用自己惯用的文件编辑器在当前目录下创建一个叫 fibo.py 的文件,录入如下内容 : 名师归纳总结 - - - - - - -第 1 页,共 13 页精选学习资料 - - - - - - - - - 现在进入Python 说明器并使用以下命令导入这个模块: 这样做不会直接把 fibo 中的函数导入当前的语义表;它只是引入了模块名fibo
3、 ;你可以通过模块名按如下方式拜访这个函数:假如准备频繁使用一个函数,你可以将它给予一个本地变量 : 深化模块除了包含函数定义外,模块也可以包含可执行语句;这些语句一般用来初始化模块;他们仅在第一次被导入的地方执行一次;每个模块都有自己私有的符号表,被模块内全部的函数定义作为全局符号表使 用;因此,模块的作者可以在模块内部使用全局变量,而无需担忧它与某个用 户的全局变量意外冲突;从另一个方面讲,假如你准确的知道自己在做什么,你可以使用引用模块函数的表示法拜访模块的全局变量,modname.itemname;import 语句放在模块可以导入其他的模块;一个(好的)习惯是将全部的模块的开头(或者
4、是脚本),这并非强制;被导入的模块名会放入当前模块的全局符号表中;小编为大家举荐一个学习沟通群:308754087,群里有人都快满了 大家遇到啥问题都可以在里面沟通!是一个特别好的学习沟通地方 欲进从速欧 各种 PDF 等你来下载,全部免费,只为帮忙大家快速入门;名师归纳总结 - - - - - - -第 2 页,共 13 页精选学习资料 - - - - - - - - - import 语句的一个变体直接从被导入的模块中导入命名到本模块的语义表中;例如这样可以导入全部除了以下划线 _ 开头的命名;需要留意的是在实践中往往不勉励从一个模块或包中使用* 导入全部,由于这样会让代码变得很难读;不
5、便省力;过,在交互式会话中这样用很方* 出于性能考虑,每个模块在每个说明器会话中只导入一遍;因此,假如你修改了你的模块,需要重启说明器;或者,假如你就是想交互式的测试这么一个模块,可以用 imp.reload 重新加载,例如 import imp; imp.reloadmodulename;作为脚原来执行模块当你使用以下方式运行Python 模块时,模块中的代码便会被执行python fibo.py 模块中的代码会被执行,就像导入它一样,不过此时_name_ 被设置为_main_ ;这相当于,假如你在 模块后加入如下代码 : if _name_ = _main_:import sysfibin
6、tsys.argv1就可以让此文件像作为模块导入时一样作为脚本执行;此代码只有在模块作为名师归纳总结 “main文件执行时才被调用 : 第 3 页,共 13 页- - - - - - -精选学习资料 - - - - - - - - - $ python fibo.py501 1 2 3 5 8 13 21 34假如模块被导入,不会执行这段代码 : import fibo这通常用来为模块供应一个便于测试的用户接口(将模块作为脚本执行测试需求);模块的搜寻路径导入一个叫 spam 的模块时,说明器先在当前目录中搜寻名为 spam.py 的文件;假如没有找到的话,接着 会到sys.path 变量中给
7、出的目录列表中查找;sys.path 变量的初始值来自如下:.输入脚本的目录(当前目录);.环境变量PYTHONPATH 表示的目录列表中搜寻.这和 shell 变量PATH 具有一样的语法,即一系列目录名的列表;.Python 默认安装路径中搜寻;.在支持符号连接的文件系统中,输入的脚本所在的目录是符号连接指向的目录;换句话说也就是包含符号链接的目录不会被加到目录搜寻路径中;名师归纳总结 - - - - - - -第 4 页,共 13 页精选学习资料 - - - - - - - - - 实际上,说明器由sys.path 变量指定的路径目录搜寻模块,该变量初始化时默认包含了输入脚本(或者当前目
8、录),PYTHONPATH 和安装目录;这样就答应 Python 程序明白如何修改或替换模块搜寻目录;需要留意的是由于这些目录中包含有搜寻路径中运行的脚本,所以这些脚本不应当和标准模块重名,否就在导入模块时 Python 会尝试把这些脚本当作模块来加载;这通常会引发错误;请参见 标准模块 以明白更多的信息;“ 编译的 ” Python 文件为了加快加载模块的速度,Python 会在 _pycache_ 目录下以module.version.pyc 名字缓存每个模块编译后的版本,这里的版本编制了编译后文件的格式;它通常会包含 Python 的版本号;例如,在 CPython 3.3 版中, sp
9、am.py 编译后的版本将缓存为_pycache_/spam.cpython 33.pyc ;这种命名商定答应由不同发布和不同版本的 Python 编译的模块同时存在;Python 会检查源文件与编译版的修改日期以确定它是否过期并需要重新编译;这是完全自动化的过程;同时,编译后的模块是跨平台的,所以同一个库可以在不同架构的系统之间共享;Python 不检查在两个不同环境中的缓存;第一,它会永久重新编译而且不会储备直接从命令行加载的模块;其次,假如没有源模块它不会检查缓存;如要支持没有源文件(只有编译版)的发布,编译后的模块必需在源目录下,并且必需没有源文件的模块;部分高级技巧 : .名师归纳总
10、结 - - - - - - -第 5 页,共 13 页精选学习资料 - - - - - - - - - 为了削减一个编译模块的大小,你可以在Python 命令行中使用-O 或者-OO ;-O 参数删除了断言语句, -OO 参数删除了断言语句和_doc_ 字符串;.由于某些程序依靠于这些变量的可用性,你应当只在确定无误的场合使用这一选项; “ 优化的 ” 模块有一个 .pyo 后缀而不是 .pyc 后缀;将来的版本可能会转变优化的成效;. .来自 .pyc 文件或 .pyo 文件中的程序不会比来自 .py 文件的运行更快; .pyc 或 .pyo 文件只是在它们加载的时候更快一些;. .comp
11、ileall 模块可以为指定目录中的全部模块创建 .pyc 文件(或者使用-O 参数创建.pyo 文件);. .在 PEP 3147 中有许多关这一部分内容的细节,并且包含了一个决策流程;.标准模块Python 带有一个标准模块库,并发布有独立的文档,名为Python 库参考手册(此后称其为 “ 库参考手册” );有一些模块内置于说明器之中,这些操作的拜访接口不是语言内核的一部分,但是已经内置于说明器了;这既是为了 提高效率,也是为了给系统调用等操作系统原生拜访供应接口;这类模块集合是一个依靠于底层平台的配置选项;例如,winreg 模块只供应在Windows 系统上才有;有一个详细的模块值得
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 2022 教会 所有 Python 模块 使用
限制150内