Python的Module和Package
来源:互联网 发布:qq群发软件sudm 编辑:程序博客网 时间:2024/05/01 00:06
Module
Python module就是一个普通的python脚本,也就是.py文件。Module让我们更好的组织相关的代码。例如,我们可以把数学运算相关的函数,变量,类等都放入math module。
创建一个mymodule.py文件,就定义了一个名为mymodule的module:
foo = 100 def hello():print("i am from mymodule.py")
在其他python代码中,我们可以很方便导入这个module并使用其中的代码:
import mymoduleprint(mymodule.foo)print(mymodule.hello())
如果不想导入module中的所有逻辑,仅仅想导入一部分,则使用“from”关键字:
from mymodule import foo # 仅使用foo变量print(foo)
Package
Package是用来组织项目中module的一种命名空间。同时Package可以是多层级结构,在文件系统中以多层目录的形式表达。
例如一个module名为A.B则意味着,module B属于package A。又如一个module名为A.B.C则意味着,A为第一级package,B为第二级package,C为module名称。
下面是一个package组织关系的例子:
sound/ Top-level package __init__.py Initialize the sound package formats/ __init__.py wavread.py wavwrite.py ... effects/ Subpackage for sound effects __init__.py echo.py ... filters/ Subpackage for filters __init__.py equalizer.py vocoder.py ...
可以注意到每层package目录下都有一个init.py文件。Python发现init.py文件,就知道这是一个package。当导入一个package时,Python会查找sys.path中的所有目录和子目录。
大多数情况下init.py是空的,但也可以加入package初始化代码。这样当package被引用时,初始化代码会被执行。
用户可以导入package下特定的module:
import sound.formats.wavread
另外一种写法:
from sound.formats import wavread
也可以导入特定module中的函数:
from sound.formats.wavread import echofilter
在init.py中使用all参数:
__all__ = ["echo", "surround", "reverse"]
上面的语句表示,当运行”from sound.effects import *“时,仅导入”echo”, “surround”, “reverse”3个module
- Python的Module和Package
- Python Module和Package辨析
- perl的package和module
- Python中的模块(module)和包(package)
- python module package
- python module, package
- python module package import
- python-module/package
- perl package和module
- python,module,package,map,filter
- python语法[module/package+import]
- Python中的module,library,package之间的区别
- 关于Python Package下的Module import方式
- A004: Python中的module,library,package之间的区别
- Python中的module,library,package之间的区别
- Python中的module,library,package之间的区别
- Node.js 的包(package)和模块(module)
- 5. node.js 的 模块(Module)和包(Package)
- Oracle查询1-12月数据
- ExpandableListView安卓开发可扩展的listview
- 堆排序算法
- JavaScript 学习摘要
- Jquery scroll 向下滚动到据顶部超过1000px时,回到顶部
- Python的Module和Package
- 快速掌握Lua 5.3 —— "Iterators"和"Generic for"
- 浏览器引擎
- oracle查询一个时间段每天的数据量
- python数字图像处理(2):图像的读取、显示与保存
- 静态链表类模板的实现
- Java WebService查看请求报文
- Android中LocalSocket使用
- 菜鸟在线技术篇之数据类型及转换