feat(python进阶): 完成第三至第八课教学内容
This commit is contained in:
78
02_python进阶/2_8_虚拟环境与依赖管理/practice.py
Normal file
78
02_python进阶/2_8_虚拟环境与依赖管理/practice.py
Normal file
@@ -0,0 +1,78 @@
|
||||
# 第 2-8 课课堂练习:检查虚拟环境
|
||||
#
|
||||
# 本文件只读取环境信息,不负责创建环境或安装依赖。
|
||||
# 创建、激活和退出虚拟环境的操作请按照讲义在 PowerShell 中完成。
|
||||
# 不要删除题目、预期结果和自查注释。
|
||||
|
||||
# 第一部分:定义 is_virtual_environment() 函数
|
||||
# 1. 不接收参数,返回值标注为 bool。
|
||||
# 2. 比较 sys.prefix 和 sys.base_prefix。
|
||||
# 3. 两者不相等时返回 True,否则返回 False。
|
||||
# 4. 不要根据路径中是否包含“.venv”来判断。
|
||||
|
||||
# 第二部分:定义 get_python_version() 函数
|
||||
# 1. 不接收参数,返回值标注为 str。
|
||||
# 2. 调用 platform.python_version() 并 return 结果。
|
||||
# 3. 不要手工写死版本号,因为不同机器的版本可能不同。
|
||||
|
||||
# 第三部分:定义 get_environment_name() 函数
|
||||
# 1. 不接收参数,返回值标注为 str。
|
||||
# 2. 使用 Path(sys.prefix).name 取得当前环境目录名称。
|
||||
# 3. return 得到的名称。
|
||||
|
||||
|
||||
|
||||
# 第四部分:定义 get_environment_report() 函数
|
||||
# 1. 不接收参数,返回值标注为 dict[str, str]。
|
||||
# 2. 调用前面三个函数。
|
||||
# 3. 把布尔值转换为中文:“是”或“否”。
|
||||
# 4. return 包含以下三个键的字典:
|
||||
# "python_version":当前 Python 版本;
|
||||
# "environment_name":当前环境目录名称;
|
||||
# "is_virtual_environment":中文“是”或“否”。
|
||||
|
||||
|
||||
# 第五部分:定义 print_environment_report(report) 函数
|
||||
# 1. 参数标注为 dict[str, str],返回值标注为 None。
|
||||
# 2. 依次输出:
|
||||
# Python 版本:实际版本
|
||||
# 当前环境:实际环境名称
|
||||
# 是否为虚拟环境:是或否
|
||||
# 3. 本函数只负责输出,不修改 report。
|
||||
|
||||
|
||||
# 第六部分:定义 main() 函数
|
||||
# 1. 返回值标注为 None。
|
||||
# 2. 调用 get_environment_report() 并保存结果。
|
||||
# 3. 调用 print_environment_report() 输出报告。
|
||||
# 4. 添加程序入口判断,直接运行本文件时调用 main()。
|
||||
|
||||
|
||||
# 第七部分:在两个环境中运行
|
||||
# 1. 未激活本课虚拟环境时运行一次 practice.py,记录输出。
|
||||
# 2. 按讲义创建并激活项目根目录下的 .venv。
|
||||
# 3. 再次运行 practice.py。
|
||||
# 4. 对比两次的环境名称和“是否为虚拟环境”。
|
||||
# 5. 两台机器的路径和 Python 版本可能不同,不要求写死相同结果。
|
||||
|
||||
|
||||
# 最终验收测试:
|
||||
# 1. 所有函数的参数和返回值注解正确;
|
||||
# 2. Python 版本来自 platform.python_version();
|
||||
# 3. 环境名称来自 Path(sys.prefix).name;
|
||||
# 4. 虚拟环境判断来自 sys.prefix != sys.base_prefix;
|
||||
# 5. 报告字典包含三个指定键,值都是字符串;
|
||||
# 6. 输出函数不修改报告字典;
|
||||
# 7. 普通环境与 .venv 中的输出能够体现环境差异;
|
||||
# 8. 没有在代码中写死个人机器路径或 Python 版本;
|
||||
# 9. 没有在脚本中自动安装或卸载依赖。
|
||||
|
||||
|
||||
# 完成后自查:
|
||||
# 1. 是否知道虚拟环境用于隔离项目依赖;
|
||||
# 2. 是否知道激活环境不会删除系统 Python;
|
||||
# 3. 是否优先使用 python -m pip;
|
||||
# 4. 是否知道 requirements.txt 用于记录项目依赖;
|
||||
# 5. 是否知道 .venv 不应提交到 Git;
|
||||
# 6. 是否能退出环境并重新激活;
|
||||
# 7. 是否保留了完整题目和验收说明。
|
||||
Reference in New Issue
Block a user