DAY 24 元组和OS模块
1. 元组
1.1 概念
元组是 Python 中一种不可变的序列类型,使用圆括号 ()
表示,元素之间用逗号分隔。由于其不可变性,元组在创建后不能修改元素的值、添加或删除元素。
代码示例
# 创建元组
empty_tuple = () # 空元组
single_element_tuple = (1,) # 只有一个元素的元组,注意逗号不能省略
normal_tuple = (1, 2, 'hello', True)# 访问元组元素
print(normal_tuple[0]) # 输出: 1# 元组解包
a, b, c, d = normal_tuple
print(a) # 输出: 1# 元组切片
print(normal_tuple[1:3]) # 输出: (2, 'hello')
1.2 哈希和字典键
- 由于元组是不可变的,可作为字典的键,这在存储模型配置或实验结果时非常有用。
# 存储不同模型配置的准确率
model_configs = {('random_forest', 100, 5): 0.85,('logistic_regression', 0.1): 0.82
}
print(model_configs[('random_forest', 100, 5)]) # 输出: 0.85
1.3 应用场景
- 函数返回多个值:函数可以返回一个元组,调用者通过元组解包获取多个返回值。
- 数据不可变需求:当数据不希望被修改时,使用元组存储数据,保证数据的安全性。
2. 可迭代对象
2.1 概念
可迭代对象是指能够一次返回一个元素的对象,Python 中很多数据类型都是可迭代对象,如列表、元组、字符串、字典等。可迭代对象可以用于 for
循环、iter()
函数等。
代码示例
# 列表作为可迭代对象
my_list = [1, 2, 3]
for item in my_list:print(item)# 字符串作为可迭代对象
my_string = "hello"
for char in my_string:print(char)# 使用 iter() 和 next() 函数
my_iter = iter(my_list)
print(next(my_iter)) # 输出: 1
print(next(my_iter)) # 输出: 2
2.2 应用场景
- 循环遍历:在
for
循环中使用可迭代对象遍历数据。 - 生成器:生成器是一种特殊的可迭代对象,用于按需生成数据,节省内存。
3. os
模块
3.1 概念
os
模块是 Python 标准库中的一个模块,提供了与操作系统进行交互的功能,如文件和目录操作、环境变量管理等。
代码示例
import os# 获取当前工作目录
current_dir = os.getcwd()
print(current_dir)# 创建目录
new_dir = "new_directory"
if not os.path.exists(new_dir):os.mkdir(new_dir)# 列出目录中的文件和子目录
file_list = os.listdir(current_dir)
print(file_list)# 拼接路径
new_path = os.path.join(current_dir, new_dir)
print(new_path)# 删除目录
if os.path.exists(new_dir):os.rmdir(new_dir)
3.2 应用场景
- 文件管理:创建、删除、重命名文件和目录。
- 路径处理:拼接、拆分、获取文件路径的各个部分。
- 环境变量管理:获取和设置系统环境变量。