首页 > 解决方案 > Python 中的合格导入

问题描述

我正在寻找一种以合格方式从模块中导入某些方法的方法;例如(伪代码),

from math import sqrt as math.sqrt
# ...
SQRT2 = math.sqrt(2)

这可能吗?

这对于管理命名空间很有用,以免污染全局命名空间。此外,该方案在代码的任何部分都清楚地表明了方法/类的来源。我也可以使用import math,但是实际需要的方法(例如sqrt)将是隐式的。

标签: python-importqualified-name

解决方案


__import__您可以使用带有参数的内置函数fromlist

math = __import__('math', fromlist=['sqrt'])
SQRT2 = math.sqrt(2)

推荐阅读