趋近智
if 语句for 循环with 自动关闭文件from ... importself 参数说明finally 块:清理操作通过使用 Python 标准库中的模块以及安装和使用一个简单的外部包来提供示例。
Python 自带一个内容丰富的标准库,为许多常见任务提供即用型模块。对于这些模块,你无需额外安装任何东西;它们是 Python 安装的一部分。
math 模块math 模块提供对数学函数的访问。假设你需要计算一个数的平方根,或者找到向上取整的值(大于或等于一个数的最小整数)。
math 模块来开始你的脚本。
import math
module_name.function_name)访问 math 模块中的函数。
import math
number = 16
square_root = math.sqrt(number)
print(f"The square root of {number} is {square_root}") # 输出: 16的平方根是 4.0
another_number = 9.3
ceiling_value = math.ceil(another_number)
print(f"The ceiling value of {another_number} is {ceiling_value}") # 输出: 9.3的向上取整值是 10
请注意我们如何用 math. 作为 sqrt 和 ceil 的前缀,以告诉 Python 这些函数来自哪里。random 模块需要生成随机数或进行随机选择? random 模块是你的工具。
import random
import random
# 生成一个介于1到10(包括1和10)之间的随机整数
random_integer = random.randint(1, 10)
print(f"A random integer: {random_integer}")
# 从列表中选择一个随机元素
options = ['apple', 'banana', 'cherry', 'date']
random_choice = random.choice(options)
print(f"A random fruit: {random_choice}")
每次运行此脚本时,你很可能会得到不同的随机整数和水果输出。from ... import有时,你可能只需要模块中的一两个特定项,或者想避免重复输入模块名称。你可以使用 from ... import 语法。让我们用这种方法重新进行平方根计算。
from math import sqrt, ceil # 直接导入 sqrt 和 ceil
number = 25
square_root = sqrt(number) # 注意:现在不需要 'math.' 前缀了
print(f"The square root of {number} is {square_root}") # 输出: 25的平方根是 5.0
another_number = 4.1
ceiling_value = ceil(another_number) # 不需要 'math.' 前缀
print(f"The ceiling value of {another_number} is {ceiling_value}") # 输出: 4.1的向上取整值是 5
虽然这可以使代码更短,但请注意,直接导入许多名称可能会使脚本的命名空间混乱,并且如果不同模块具有相同名称的函数或变量,可能会导致命名冲突。对于大型程序,使用 import module_name 通常更清晰。
Python 包索引 (PyPI) 托管了社区创建的数千个外部包。这些包显著扩展了 Python 的能力。要使用它们,你首先需要使用 pip 进行安装。
requests 包requests 包是一个非常流行的库,用于进行 HTTP 请求(例如,获取网页)。
安装包: 打开你的终端或命令提示符(不是 Python 解释器)。输入以下命令并按回车键:
pip install requests
你应该会看到输出,表示 requests(以及可能的一些依赖项)正在下载和安装。
在脚本中使用包: 现在你可以像使用标准库模块一样导入和使用 requests。让我们获取一个简单示例网站的内容。
import requests
import datetime # 我们也导入 datetime,看看我们何时运行它
try:
# 对一个 URL 发送 GET 请求
response = requests.get('https://httpbin.org/get')
response.raise_for_status() # 对于错误的HTTP状态码(4xx或5xx)抛出异常
# 打印关于响应的一些信息
print(f"Request successful at: {datetime.datetime.now()}")
print(f"Status Code: {response.status_code}")
# print(f"内容(前150个字符):{response.text[:150]}...") # 取消注释以查看内容
except requests.exceptions.RequestException as e:
# 处理潜在错误,如网络问题或不良响应
print(f"An error occurred: {e}")
print(f"Request failed at: {datetime.datetime.now()}")
此脚本尝试从一个测试 URL 获取数据。它使用 try...except 块(你之前学过)来优雅地处理潜在的网络错误。它打印服务器返回的状态码(200通常表示成功)以及请求发出时间。
让我们将所学知识结合起来。编写一个简短的脚本,该脚本:
random 和 math 模块。random.uniform() 生成一个介于 1.0 和 100.0 之间的随机浮点数。math.floor() 计算该数的向下取整值(小于或等于该数的最大整数)。解决方案:
import random
import math
# 1. 生成一个介于 1.0 和 100.0 之间的随机浮点数
random_float = random.uniform(1.0, 100.0)
# 2. 计算其向下取整值
floor_value = math.floor(random_float)
# 3. 打印结果
print(f"Generated random float: {random_float:.2f}") # 格式化为 2 位小数
print(f"Floor value: {floor_value}")
此实践展示了标准模块和外部模块如何让你轻松地将强大的功能集成到程序中,而无需从头开始编写所有内容。随着你构建更复杂的应用程序,有效使用模块和包将是保持代码有条理、可读和可维护的根本。你可以尝试 math、random 和 datetime 模块中的其他函数,或者尝试从 PyPI 安装并使用另一个简单的包。
这部分内容有帮助吗?
© 2026 ApX Machine Learning用心打造