《Python 简明教程》读书笔记系列三 —— 模块
最简单的编写模块的方法就是创建一个包含很多方法和变量并以 .py
为扩展的文件。另一种方法就是编写 Python 解释器的语言来编写模块。
一个模块会被引入到一个程序来使用它的功能。这就是我们使用 Python 标准库的方法。首先,我们会了解如何使用标准库模块。
例子:
import sys
print('The command line arguments are:')
for i in sys.argv:
print(i)
print('\n\nThe PYPATH is', sys.path, '\n')
输出:
The command line argument are:
The path to your current file
The PYPATH is ['your python path']
字节码文件 .pyc
Python 通过一些方法来使得导入模块更加快速。其一,就是创建以 .pyc
为扩展名的 字节码 文件,它是一种中间形式,Python 会把程序代码转换成这样的形式。
模块的 __name__
每一个模块都有一个名称,在模块中我们可以通过判断语句来确定模块的名称。这在一种情形下特别有用:确定模块被导入了?还是在独立地运行。
创建你自己的模块
例子:
def say_hi():
print('Hi, this is mymodule speaking.')
__version__ = '0.1'
将上述代码保存为 module.py
文件。然后在当前目录下,打开 Python 交互式命令行,即为:
Python 3.8.2 (default, Feb 27 2020, 05:27:33) [GCC 9.2.0 64 bit (AMD64)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>> import module
# 引入 module 模块
>>> module.say_hi()
Hi, this is mymodule speaking.
>>> print('Version', module.__version__)
Version 0.1
>>>
dir
函数
内置的 dir()
函数能以列表的形式返回某个对象定义的一系列标识符。如果这个对象是个模块,返回的列表中会包含模块内部所有的函数、类和变量。
这个函数接受一个可选的参数。当参数是模块名时,函数会返回对应模块的标识符列表。没有函数时则会返回当前模块的标识符列表。
程序包
组织程序的结构层次:变量通常在函数的内部;全局变量和函数通常在模块的内部。如何组织模块呢?这就是程序包出场的时候了。
程序包就是一个装满模块的文件夹,它有一个特殊的 __init__.py
文件,这个文件告诉 Python 这个文件夹是特别的,因为它装着 Python 模块。
小结
如果说函数是程序的可重用部分,那么模块就是可重用的程序。程序包则是组织模块的另一个层次。Python 附带的标准库就是一组程序包,其中包括了许多模块。
本作品采用《CC 协议》,转载必须注明作者和本文链接