模块和包
在编写较大程序时,将代码组织成模块和包有助于提高代码的可维护性和重用性。Python 提供了强大的模块和包机制。我们将详细介绍以下内容:
模块
模块是一个包含 Python 代码的文件,可以包含变量、函数和类。通过 import
语句可以在其他代码中使用模块。
创建和使用模块:
假设有一个名为 mymodule.py
的文件,内容如下:
# mymodule.py
def greet(name):
return f"Hello, {name}!"
可以在另一个 Python 文件中导入并使用这个模块:
# main.py
import mymodule
print(mymodule.greet("Alice")) # 输出 "Hello, Alice!"
也可以使用 from ... import ...
语句导入模块中的特定部分:
# main.py
from mymodule import greet
print(greet("Bob")) # 输出 "Hello, Bob!"
包
包是一个包含多个模块的目录,其中包含一个特殊的 __init__.py
文件,该文件可以是空的,也可以包含包的初始化代码。
创建和使用包:
假设有一个名为 mypackage
的目录,结构如下:
mypackage/
__init__.py
module1.py
module2.py
module1.py
的内容如下:
# module1.py
def add(a, b):
return a + b
module2.py
的内容如下:
# module2.py
def subtract(a, b):
return a - b
可以在另一个 Python 文件中导入并使用这个包:
# main.py
from mypackage import module1, module2
print(module1.add(5, 3)) # 输出 8
print(module2.subtract(5, 3)) # 输出 2
使用标准库
Python 附带了一个丰富的标准库,提供了大量有用的模块,可以直接导入和使用。例如,使用 math
模块进行数学运算:
import math
print(math.sqrt(16)) # 输出 4.0
安装第三方包
可以使用 pip
安装第三方包。例如,安装和使用 requests
包来发送 HTTP 请求:
pip install requests
安装后,可以在代码中导入并使用 requests
包:
import requests
response = requests.get("https://api.github.com")
print(response.status_code) # 输出 200
模块和包使得代码更加模块化和可重用,有助于组织和管理大型项目。