Python 合格进口

Qualified import in Python

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

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

这可能吗?

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

我不确定您在使用 import mathmath.sqrt 时会遇到什么问题?

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

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

您可以使用带有 fromlist 参数的内置 __import__ 函数来代替:

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