WANGZHAN

网站链接:http://www.xker.com/
博客提供了一个网站链接,地址为http://www.xker.com/ 。
在 Python 中,`import` 语句的写法会影响模块的导入方式,尤其是在不同目录结构或包结构中表现明显。以下是两种写法的具体差异: ### `from module import wangzhan` 此写法表示从当前工作目录或 Python 的模块搜索路径中查找名为 `module` 的模块,并从中导入 `wangzhan` 对象(可以是变量、函数、类等)。 - 这种方式适用于全局安装的模块或当前目录下的模块。 - 如果 `module` 是一个包(即包含 `__init__.py` 文件的目录),则会按照标准的模块解析规则进行查找。 - 通常用于脚本或非包结构的项目中。 例如: ```python from mymodule import MyClass ``` ### `from .module import wangzhan` 此写法是相对导入(relative import),用于在包内部导入其他模块。 - `.` 表示当前包,`..` 表示上一级包,依此类推。 - 这种方式只能在包结构中使用,即文件必须位于一个包含 `__init__.py` 的目录中。 - 相对导入不会搜索当前工作目录或 `sys.path` 中的路径,而是基于当前模块所在的包结构进行解析。 例如,在包结构 `mypackage` 中: ``` mypackage/ ├── __init__.py ├── module_a.py └── subpackage/ ├── __init__.py └── module_b.py ``` 如果 `module_b.py` 需要导入 `module_a.py`,可以使用: ```python from .. import module_a ``` ### 总结 | 导入方式 | 适用场景 | 是否支持相对路径 | 是否依赖 `sys.path` | |---------------------------|---------------------------|------------------|----------------------| | `from module import wangzhan` | 脚本、全局模块、非包结构 | 否 | 是 | | `from .module import wangzhan` | 包结构内部模块相互导入 | 是 | 否 | ### 注意事项 - 使用相对导入时,模块不能作为主模块直接运行(如 `python -m mypackage.subpackage.module_b` 是允许的,但 `python module_b.py` 会导致错误)[^5]。 - 确保项目结构清晰,避免导入路径混乱。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值