面试题答案
一键面试在module2.py
中使用相对导入导入module1.py
中的函数,假设要导入的函数名为func
,在Python 3中可如下实现:
from..package1.module1 import func
相对导入在不同Python版本中的兼容性情况
- Python 2:相对导入语法有所不同,需要在
package1
和package2
的__init__.py
文件中添加from __future__ import absolute_import
,并且module2.py
中的相对导入语法为from..package1.module1 import func
,但这种语法在Python 2.5之前不支持。 - Python 3:从Python 3.3开始,隐式相对导入已被移除,推荐使用显式相对导入,如上述示例代码。Python 3.x系列对显式相对导入有很好的支持。