合格的Python导入

时间:2018-10-17 09:28:20

标签: python-import qualified-name

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

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

这可能吗?

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

2 个答案:

答案 0 :(得分:2)

我不确定使用import math然后再使用math.sqrt会遇到什么问题?

您要对命名空间进行不同的命名吗?然后执行以下操作:

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

答案 1 :(得分:2)

您可以将内置__import__函数与fromlist参数一起使用:

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