本文共 1582 字,大约阅读时间需要 5 分钟。
模块是 Python 中组织代码的基本单位。每个模块都对应一个 Python 文件,其文件名通常以 .py 结束。模块内定义的函数和变量可以通过导入其他模块来使用。每个模块都有一个内置的变量 __name__,表示当前模块的名称。
使用文本编辑器创建一个名为 fibo.py 的文件,其内容如下:
# Fibonacci numbers moduledef fib(n): # 生成斐波那契数列 a, b = 0, 1 while b < n: print(b, end=' ') a, b = b, a + b print()def fib2(n): # 返回斐波那契数列列表 result = [] a, b = 0, 1 while b < n: result.append(b) a, b = b, a + b return result# 导入当前模块中的函数import fibo
# 调用 fib 函数fibo.fib(1000)# 输出:1 1 2 3 5 8 13 21 34 55 89 144 233 377 610 987# 获取模块名称print(fibo.__name__) # 输出:fibo# 导入特定函数并调用fib = fibo.fibfib(500)
from fibo import *from fibo import *fib(500)
在 fibo.py 文件末尾添加以下代码:
if __name__ == "__main__": import sys fib(int(sys.argv[1]))
运行命令:
python3 fibo.py 50
Python 在运行时会按照以下顺序搜索模块路径:
sys.path 路径 .PYTHONPATH 环境变量使用 dir() 函数查看模块内容:
import fibo, sysprint(dir(fibo)) # 输出示例:['__builtins__', '__cached__', '__doc__', '__file__', '__name__', '__package__', 'fib', 'fib2', 'sys']
包是一种组织 Python 模块命名空间的方式,使用点号分隔的模块名称表示包结构。例如:
from sound.effects import *
这会导入包 sound.effects 中定义的所有函数和模块。要创建包结构,需要在包目录中添加一个 __init__.py 文件。
import json# 例子:将数据转换为 JSON 格式data = [1, "simple", "list"]json.dump(data, open('workfile.json', 'w'))# 读取并解析 JSON 文件with open('workfile.json', 'r') as f: data = json.load(f) os 模块import os# 获取当前目录print(os.getcwd())
with open('workfile.txt', 'w') as f: f.write('Hello World!') 通过以上示例,可以看出 Python 模块为代码组织和管理提供了强大的功能,适用于各类开发需求。
转载地址:http://vulfk.baihongyu.com/