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.pyplot → plt

  • 避免命名冲突(例如,你的代码里也有一个 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.plot → plt_plot

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


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

语法

from module_name import *

用途

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

示例

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

适用场景

  • 快速测试代码时

  • 某些特殊库(如 tkinter 或 pygame 常用 from ... import *


总结对比

导入方式示例访问方式适用场景
import moduleimport osos.listdir()需要模块的多个功能
import module as shortimport numpy as npnp.array()模块名太长或避免冲突
from module import funcfrom math import sqrtsqrt()只需要少量函数
from module import func as shortfrom matplotlib.pyplot import plot as plt_plotplt_plot()函数名太长或避免冲突
from module import *from math import *sqrt()sin()不推荐,仅用于快速测试
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

派晟电子工作室

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值