yolov8中的python基础--模块导入篇

import语句有几种不同的写法,它们有不同的用途和优势。

1. 直接 import

语法

复制代码
import module_name

用途

导入整个模块,使用时需要通过模块名访问其中的内容。

示例

复制代码
import os
print(os.listdir())  # 必须用 `os.` 前缀

适用场景

  • 当需要频繁使用模块中的多个功能时

  • 避免命名冲突(因为所有功能都带有模块名前缀)


2. import ... as ...(别名导入)

语法

复制代码
import module_name as short_name

用途

给模块起一个别名,简化代码或避免命名冲突。

示例

复制代码
import numpy as np  # 用 `np` 代替 `numpy`
arr = np.array([1, 2, 3])  # 比 `numpy.array` 更简洁

适用场景

  • 模块名较长时(如 matplotlib.pyplotplt

  • 避免命名冲突(例如,你的代码里也有一个 random 变量,但你想用 Python 的 random 模块)


3. from ... import ...(精确导入)

语法

复制代码
from module_name import function_name

用途

只导入模块中的特定功能 ,而不是整个模块,使用时不需要模块名前缀

示例

复制代码
from math import sqrt
print(sqrt(16))  # 可以直接用 `sqrt`,不需要 `math.sqrt`

适用场景

  • 只需要模块中的少数几个功能时

  • 希望代码更简洁(减少前缀)


4. from ... import ... as ...(精确导入 + 别名)

语法

复制代码
from module_name import function_name as short_name

用途

导入模块的某个功能,并给它起别名。

示例

复制代码
from matplotlib.pyplot import plot as plt_plot
plt_plot([1, 2, 3], [4, 5, 6])  # 避免和 `plot` 变量冲突

适用场景

  • 模块中的某个函数名太长(如 plt.plotplt_plot

  • 避免命名冲突(例如,你的代码里也有 plot 变量)


5. from ... import *(全部导入)

语法

复制代码
from module_name import *

用途

导入模块的所有功能 ,使用时不需要模块名前缀

示例

复制代码
from math import *
print(sqrt(16))  # 直接使用 `sqrt`,不需要 `math.`
print(sin(1.57))  # 直接使用 `sin`

适用场景

  • 快速测试代码时

  • 某些特殊库(如 tkinterpygame 常用 from ... import *


总结对比

导入方式 示例 访问方式 适用场景
import module import os os.listdir() 需要模块的多个功能
import module as short import numpy as np np.array() 模块名太长或避免冲突
from module import func from math import sqrt sqrt() 只需要少量函数
from module import func as short from matplotlib.pyplot import plot as plt_plot plt_plot() 函数名太长或避免冲突
from module import * from math import * sqrt(), sin() 不推荐,仅用于快速测试
相关推荐
tpoog11 分钟前
[C++项目组件]cpp-httplib与 websocketpp的简单介绍和使用
开发语言·c++
闲人编程12 分钟前
深入理解Python的`if __name__ == ‘__main__‘`:它到底做了什么?
服务器·数据库·python·main·name·魔法语句
GISer_Jing38 分钟前
0926第一个口头OC——快手主站前端
开发语言·前端·javascript
风语者66639 分钟前
perl踩坑系列===正则表达式第2坑---split中的“或”操作符
开发语言·正则表达式·perl
狂团商城小师妹1 小时前
JAVA露营基地预约户外露营预约下单系统小程序
java·开发语言·微信小程序·小程序
毕设源码-郭学长1 小时前
【开题答辩全过程】以 Python基于大数据的四川旅游景点数据分析与可视化为例,包含答辩的问题和答案
大数据·python·数据分析
大飞pkz2 小时前
【设计模式】策略模式
开发语言·设计模式·c#·策略模式
Lin_Aries_04212 小时前
容器化 Flask 应用程序
linux·后端·python·docker·容器·flask
MediaTea2 小时前
Jupyter Notebook:基于 Web 的交互式编程环境
前端·ide·人工智能·python·jupyter