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

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()不推荐,仅用于快速测试

相关文章:

  • Linux进程间通信(上)(21)
  • Marin说PCB之POC电路layout设计仿真案例---08
  • 在Fluent中使用Python脚本实现UDF并访问场数据和网格数据
  • GTC25 的 6G 会议
  • 【Linux我做主】深入探讨从冯诺依曼体系到进程
  • 人形机器人重塑制造业:仿生技术革命背后的机遇与隐忧
  • 406错误,WARN 33820 --- [generator] [nio-8080-exec-4] .w.s.m.s.DefaultHa
  • FlexibleButton:一个轻巧灵活的按键处理库,让你的按键处理更简单
  • 强力巨彩租赁屏:加速技术迭代助力舞台艺术焕新
  • 开源免费视频在线提取工具 MediaGo 介绍
  • 基于DevSecOps敏捷框架的数字供应链安全应解决方案
  • RAG框架搭建(基于Langchain+Ollama生成级RAG 聊天机器人)
  • 京东平台 API 对接实战:商品详情数据采集接口开发与调试教程
  • LaTex 模板 section 前小节符号去不掉 解决方法
  • Spring Security鉴权:文件上传需要携带token
  • 使用OpenCV 和Dlib 实现表情识别
  • ReSearch:强化学习赋能大模型,推理与搜索的创新融合
  • 典籍知识问答模块AI问答功能feedbackBug修改+添加对话名称修改功能
  • Debian系统上PostgreSQL15版本安装调试插件及DBeaver相应配置
  • 【C语言干货】野指针
  • 轿车追尾半挂车致3死1伤,事故调查报告:司机过分依赖巡航系统
  • 上海:下调个人住房公积金贷款利率
  • 世界人形机器人运动会将在北京“双奥场馆”举行
  • 十四届全国政协原常委、民族和宗教委员会原副主任苟仲文被提起公诉
  • 《蓦然回首》:现代动画的践行与寓言
  • 新加坡执政党人民行动党在2025年大选中获胜