模块(module)
包(package)
模块的创建
创建一个可被重用的Python脚本文件,即创建了一个模块。模块名即为脚本的(无后缀)文件名。可用import <modname>导入模块。
模块的属性
__name__ 对于导入的模块,与模块名相同。对于直接执行的模块,为"__main__"。可以用来区分模块是导入,还是直接执行的。
直接执行模块
if __name__ == "__main__":
import sys
print (sys.argv[0])
模块中可以包含变量、类、函数等定义,也可以包含语句。
模块中的语句在模块被导入时,执行一次。多次导入同一个模块时,这些语句不会重复执行。
模块有自己的命名空间。可以用from <modname> import <name>的方式,将模块内的名字,导入当前命名空间。
模块的查找顺序
1、内建模块
2、sys.path变量:脚本当前路径;PYTHONPATH环境变量;依赖于安装的默认值
编译后的Python文件
导入模块后,会生成.pyc文件。对应的.py文件的修改时间戳会记录在.pyc文件中。如果对应的.py文件被修改,.pyc将被重新生成。
.pyc文件仅加快载入速度,不会加快执行速度。
可以仅有.pyc文件,而没有.py文件。此时将直接载入.pyc文件。
可以用 -O选项,生成优化的.pyo文件。目前优化仅剔除断言。
可以用-OO选项,生成最优化的.pyo文件。此时会剔除模块的__doc__属性。使用时需确认程序中不会用到__doc__属性。
可以直接执行.pyc文件,或用优化选项执行.pyo文件。
包(package)
可以将多个模块放在一个目录中,创建一个包。该目录中必须包含一个__init__.py文件,标识该目录为包。
导入时,除了最后一个部分,前面的部分必须是包,最后一个部份可以是模块或包,不能是变量、函数及类。
包的属性
__all__ 该属性指定用 from <pkgname> import *时,导入的子模块、子包的名称。
包内的子模块相互导入时,优先导入同一个包中的模块。
分享到:
相关推荐
python-pb11_module_package.rar
PyPI(Python Package Index)是Python世界中的一个重要组成部分,它是Python开发者们分享和获取开源软件包的主要平台。在这个平台上,我们可以找到各种各样的Python库,大大提升了开发效率和代码质量。本次我们关注...
在Python编程中,文件夹和Python package包之间存在着显著的区别。了解这些差异对于有效地组织和管理代码至关重要。本文将深入探讨这两者的概念以及它们在Python项目中的应用。 首先,让我们定义一下文件夹和Python...
在Python编程中,保持代码整洁和一致性至关重要。`isort`是一个非常实用的工具,它可以帮助我们自动排序Python源码中的`import`语句,从而符合一定的规范,提高代码的可读性和团队协作效率。标题提到的"Python-isort...
Python 中使用package时,出现循环导入问题十分常见,我们创建如下package来说明这个问题: pkg ├── __init__.py ├── module_a.py └── module_b.py 其中, __init__.py 将pkg指定为一个Python package ...
将多个module组织在一个文件夹中,形成一个package; 例如: 一个名叫A的package(文件夹)含一个名叫B的module(.py文件) 导入B的方式:import A.B from A.B import ### 在较大规模的python程序编写中很有用!
Python中的包(Package)是组织和管理大型项目的重要机制,它允许我们将相关的模块(Module)分组到一起,形成一个可导入的结构。在Python中,一个包实际上就是一个包含`__init__.py`文件的文件夹。这个特殊的`__...
- **模块与包**:Python使用模块(module)组织代码,通过import语句导入。包(package)是管理大型项目的一种方式,可以包含多个子模块。 - **面向对象编程**:Python支持类(class)和对象的概念,可以实现封装...
在IT行业中,Python是一种广泛应用的高级编程语言,以其简洁、易读的语法和丰富的库支持而闻名。在标题中提到的“Python库 | testmodule3091-0.0.8.tar.gz”是一个特定的Python库,它被打包成了tar.gz格式的压缩文件...
在Python编程中,模块(Module)和包(Package)是两种重要的代码组织方式,它们有助于提高代码的可读性、可维护性和复用性。下面将详细解释这两者之间的区别和使用方法。 **1. 模块(Module)** 模块是Python代码...
在IT行业中,Python是一种广泛应用的高级编程语言,以其简洁易读的语法和强大的库支持而闻名。Python3是Python的最新版本,相比Python2,它引入了许多改进和新特性,如更好的Unicode支持、新的语法结构以及弃用了...
PyCharm执行Python时,找不到自己安装的package,例如pandas、numpy、scipy、scikit等,在执行时报如下错误ImportError: No module named pandas: Traceback (most recent call last): File "<input>", ...
此外,还会介绍模块(module)和包(package)的使用,这是Python组织代码的重要方式,方便代码的重用和管理。 在面向对象编程方面,《深入理解Python》会详细解析类与对象的概念,包括类的定义、对象的创建与销毁...
在给定的压缩包文件"python模块导入练习.zip"中,有两个主要的文件:`main.py`和`my_package`。`main.py`通常是程序的入口点,而`my_package`则可能是一个包含多个相关模块的包。 首先,让我们详细了解Python的模块...
例如,如果你在一个名为`package`的目录下有`module1.py`和`module2.py`,在`module1.py`中导入`module2.py`可以写作: ```python from . import module2 ``` 这里的`.`表示当前目录。如果`module2.py`在`...
在Python编程语言中,模块是组织代码的基本...总的来说,理解并熟练掌握Python中的模块、包和标准库的导入机制对于编写高效、可维护的代码至关重要。正确使用这些工具可以使代码结构清晰,减少代码重复,提高代码质量。
最后,提供的文档`python27[同级目录模块间的调用方法].doc`和`package`可能包含了更详细的示例和解释,建议参考阅读以获取更全面的知识。在实际开发中,不断实践和调试将帮助你更好地掌握Python的模块导入机制。
1. **安装**:使用`pip`(Python的包管理器)进行安装,命令可能是`pip install ferrys_first_module`,如果库不在PyPI(Python Package Index)上,则需要先下载`.zip`文件,然后通过`pip install .`在解压后的目录...
在Python中,“包”(Package)是组织代码的一种方式,它允许开发者将相关的模块分组到一个命名空间下,便于管理和重用。 Python包通常由多个模块(.py文件)组成,这些模块可以是函数、类或者其他可执行的代码。...