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 的风格指南,以确保可读性和可维护性。

相关推荐
AI攻城狮4 小时前
用 Playwright 实现博客一键发布到稀土掘金
python·自动化运维
曲幽5 小时前
FastAPI分布式系统实战:拆解分布式系统中常见问题及解决方案
redis·python·fastapi·web·httpx·lock·asyncio
孟健20 小时前
Karpathy 用 200 行纯 Python 从零实现 GPT:代码逐行解析
python
码路飞21 小时前
写了个 AI 聊天页面,被 5 种流式格式折腾了一整天 😭
javascript·python
曲幽1 天前
FastAPI压力测试实战:Locust模拟真实用户并发及优化建议
python·fastapi·web·locust·asyncio·test·uvicorn·workers
敏编程1 天前
一天一个Python库:jsonschema - JSON 数据验证利器
python
前端付豪1 天前
LangChain记忆:通过Memory记住上次的对话细节
人工智能·python·langchain
databook1 天前
ManimCE v0.20.1 发布:LaTeX 渲染修复与动画稳定性提升
python·动效
花酒锄作田2 天前
使用 pkgutil 实现动态插件系统
python