当前位置: 首页 > news >正文

Python训练Day30

模块导入

知识点 回顾
  1. 导入官方三种手段
  2. 导入自定义/模块的方式
  3. 导入库/模块的核心逻辑找到根目录(python解释器的目录和终端的目录不一致)

1.1标准导入:导入整个库

# 方式1:导入整个模块
import mathprint("方式1:使用 import math")
print(f"圆周率π的值:{math.pi}")
print(f"2的平方根:{math.sqrt(2)}\n")

1.2 从库中导入特定项

当使用from语法从库中导入特定的函数或类时,这些函数或类就可以在您的代码中直接使用,不需要添加模块名作为前缀。因为在导入时没有包括模块的完整路径,前面也不能加上库名。

# 方式2:导入特定的函数或变量
from math import pi, sqrtprint("方式2:使用 from math import pi, sqrt")
print(f"圆周率π的值:{pi}")
print(f"2的平方根:{sqrt(2)}\n")

1.3  非标准导入:导入整个库

如下,●这将导入`math`模块中定义的所有公开函数和变量。

●和上述from同理,直接调用`sin()`、`cos()`等,而无需`math.`前缀。

from math import *print(f"圆周率π的值:{pi}")
print(f"2的平方根:{sqrt(2)}")

模块、包的定义

模块(Module)

- 本质:以 `.py` 结尾的**单个文件**,包含Python代码(函数、类、变量等)。

- 作用:将代码拆分到不同文件中,避免代码冗余,方便复用和维护。

包(Package)

在python里,包就是库

- 本质:有层次的文件目录结构(即文件夹),用于组织多个模块和子包。

- 核心特征:包的根目录下必须包含一个 `__init__.py` 文件(可以为空),用于标识该目录是一个包。

使用场景:

        若编写一个计算圆面积的代码并保存为 `circle.py`,这个文件就是一个模块。使用时通过 `import circle` 导入模块,调用其中的函数(如 `circle.calculate_area(5)`)。

        IDE(如 VSCode 或 PyCharm)通常会将你打开的项目文件夹设为“根目录”(或者说,运行时的工作目录)。Python 在导入模块时,会从这个根目录(以及其他一些标准位置和脚本所在的目录)开始查找。

场景1: main.py 和 circle.py 都在同一目录

项目根目录/
├── main.py
└── circle.py

- 模块导入 :因为它们在同一层, main.py 找 circle.py 很方便,直接喊一声名字就能找到。所以在 main.py 里可以直接写 from circle import calculate_area 来导入 circle.py 里的 calculate_area 函数。
- 运行方式 :直接在终端运行 python main.py 就行,就像在书架所在的房间里直接拿起 main.py 这本书开始读。

场景2: main.py 和 circle.py 都在根目录的子目录 model/ 下

项目根目录/
└── model/├── __init__.py   (推荐添加,将 model 目录标记为包)├── main.py└── circle.py

- 模块导入 :虽然它们在同一个格子里,但 main.py 找 circle.py 还是直接喊名字就行,所以导入语句还是 from circle import calculate_area 。
- 运行方式 :有两种方式。一是在项目根目录下运行 python model/main.py ,就像在书架所在的房间里告诉别人去拿 model 格子里的 main.py 这本书;二是先进入 model 文件夹( cd model ),再运行 python main.py ,就像自己走到 model 格子前拿起 main.py 读。

场景3: main.py 在根目录, circle.py 在子目录 model/ 下

项目根目录/
├── main.py
└── model/├── __init__.py   (必需添加,将 model 目录标记为一个可导入的包)└── circle.py

- 模块导入 : main.py 要找 circle.py 就不能只喊名字了,得说清楚在哪个格子里,所以导入语句要写成 from model.circle import calculate_area 。
- 运行方式 :直接在终端运行 python main.py 。但如果 circle.py 在更复杂的目录结构里,直接用 python model/main.py 可能会报错,这时可以用 python -m model.main ,Python 会把项目根目录加到搜索路径的开头,这样就能找到 model 文件夹里的 circle.py 了。

@浙大疏锦行

相关文章:

  • 用python实现汉字转拼音工具
  • shell脚本之函数详细解释及运用
  • 车载诊断架构 --- LIN 节点 ECU 故障设计原则
  • git工具使用
  • 第22天-Python ttkbootstrap 界面美化指南
  • Vue Router动态路由与导航守卫实战
  • Captiks动捕与步态分析步态分析系统MOVIT:16μs 无线同步 + 快速校准,破解传统光电困局
  • 【攻防实战】MacOS系统上线Cobalt Strike
  • VoiceFixer语音修复介绍与使用
  • 环境搭建
  • 第十节第四部分:常见API:秒杀案例、Calendar(技术已过时,了解即可)
  • redisson-spring-boot-starter 版本选择
  • 【Oracle 专栏】清理用户及表空间
  • 现代计算机图形学Games101入门笔记(二十一)
  • Vue3 中 Route 与 Router 的区别
  • 信息系统项目管理师考前练习3
  • 诊断仪进行CAN采样点测试的原理
  • 《棒球百科知识》世界棒球十强国家是如何发展·棒球1号位
  • 学习日记-day12-5.21
  • 元宇宙数字人设计大赛:往届获奖作品赏析
  • 没公司怎么做网站/数据分析师一般一个月多少钱
  • 纯html网站/网站子域名查询
  • 网站建设的总结/友情链接模板
  • 合肥网站设计建/seo外包收费
  • 建站技术/网站运营和维护
  • 学校网站怎么下载不了/数字营销网站