Python中使用“import”还是“from ... import”导入模块

Python 中可以使用"import"和"from ... import" 两种方式导入模块。那么,"import"和"from ... import"有什么区别呢?

import 语句

import module1[, module2[,... moduleN]]

"import" 导入整个模块及其函数。

如果需要使用模块中的许多函数,则最好使用"import"导入模块。

导入模块后,在调用模块中的函数时,必须这样引用:

模块名.函数名

python 复制代码
import math
print(math.pi)

from...import 语句

from modname import name1[, name2[, ... nameN]]

允许从模块导入特定的函数、类或变量。

如果只需要模块中的几个特定函数,那么使用"from ... import"可以使代码更高效。

模块中的函数可以直接使用,无需在它前面加上模块名称。

python 复制代码
from math import pi
print(pi)

"import" 和 "from ... import" 都用于在 Python 中导入模块。两者之间的主要区别在于,"import"导入整个模块,而"from ... import"仅从模块导入特定属性或函数。

使用"import",需要使用模块名称作为前缀访问模块中的所有函数、类和变量。可以通过清楚地指示函数、类和变量的来源提高代码的可读性。它还避免了名称冲突,因为所有名称都使用模块前缀进行访问。

使用"from ... import",按需导入,可以直接访问模块中的特定函数、类或变量,使代码更高效,减少代码键入。但是,如果在不同的模块中使用相同的名称,则可能会导致名称冲突,并且可能会混淆名称的来源。

在 Python 中使用"import"还是"from ... import",重要的是要考虑代码的特定需求,这两种方法都有其好处,无论的选择如何,都必须在整个代码中保持一致性,并遵守 Python 的风格指南,以确保可读性和可维护性。

相关推荐
Littlehero_1218 分钟前
QT自定义控件之电气接线图(源码开源)
开发语言·qt
泡干脆面就番茄22 分钟前
03_LBPH人脸识别算法原理与实战
python·opencv
中科三方22 分钟前
DNS拨测到底在拨测什么?
开发语言·github·php·dns·云拨测
软件黑马王子25 分钟前
20.Resources资源加载:基本实现
开发语言·前端框架·c#
Yanjun2i36 分钟前
Agent学习记录四:多工具时如何处理
人工智能·python·学习·agent
李少兄1 小时前
Java 中只有值传递吗?
java·开发语言·python
名字还没想好☜1 小时前
Spring @EventListener 事件驱动解耦实战:同步转异步、事务绑定与顺序控制
java·数据库·后端·python·spring
可乐鸡翅yeah_1 小时前
hls.js 播放质量埋点实战,采集卡顿、起播、错误指标定位线上用户问题
开发语言·前端·javascript·ecmascript·音视频·m3u8·音视频在线播放
szarron1 小时前
RF Demo Kit|NanoVNA 射频演示测试板完整上手教程,滤波器、衰减器、SOLT 校准学习板
开发语言·人工智能·学习·php·射频工程·频谱仪
边境悍匪2 小时前
蜗牛学苑 Java 智能体学习 Day39|SpringAI 会话存储、Function‑Call 工具调用、MCP 思维导图复盘
java·开发语言·spring boot·学习·阿里云