Appearance
模块与包
模块
模块是包含 Python 代码的文件,文件名以 .py
结尾。模块可以包含变量和函数,目的是提高代码的可维护性和可重用性。
把模块想象成一个工具。每个工具(模块)都具有特定的功能,可以帮助我们完成不同的任务。
导入标准库模块
Python 有许多内置的标准库模块,可以直接导入使用。例如 math 模块。
- 导入模块中所有方法的示例:
python
import math
print(math.sqrt(16)) # 输出 4.0
- 导入模块中指定方法的示例:
python
from math import sqrt
print(sqrt(16)) # 输出 4.0
创建自定义模块
创建一个模块实际上就是创建一个包含相关代码的 .py 文件。
示例:
创建一个简单的模块 hammer.py
:
python
# hammer.py
def use():
return "Using the hammer!"
tool_name = "Hammer"
导入自定义模块
我们可以导入自己编写的模块,例如刚刚创建的 hammer.py。
python
import hammer
print(hammer.use()) # 输出 "Using the hammer!"
print(hammer.tool_name) # 输出 "Hammer"
包
包是一个包含多个模块的目录,目录中有一个特殊的 init.py 文件。通过包,可以组织和管理更复杂的项目。
把包想象成一个工具箱,里面有很多工具(模块)。我们可以在不同的工具箱中找到不同的工具。
创建包的示例:
包结构:
toolbox/
__init__.py
hammer.py
greetings.py
- hammer.py:
python
# hammer.py
def use():
return "Using the hammer!"
- greetings.py:
python
# greetings.py
def say_hello(name):
return f"Hello, {name}!"
__init__.py
的作用:
__init__.py
文件是告诉 Python 这个目录是一个包。它可以是一个空文件,也可以包含包的初始化代码。通过这个文件,我们可以在导入包时执行一些初始化操作,或者定义包的公共接口。
示例 init.py 文件:
python
# __init__.py
from .hammer import use as use_hammer
from .greetings import say_hello
使用包中的模块:
python
from toolbox import use_hammer, say_hello
print(use_hammer()) # 输出 "Using the hammer!"
print(say_hello("Bob")) # 输出 "Hello, Bob!"