我正在寻找一种以 qualified 方式从模块中导入某些方法的方法;例如(伪代码),
from math import sqrt as math.sqrt
# ...
SQRT2 = math.sqrt(2)
这可能吗?
这对于管理名称空间非常有用,以免污染全局名称空间。此外,该方案清楚地指示了代码任何部分中方法/类的来源。
我也可以使用import math
,但是实际所需的方法(例如sqrt
)将是隐式的。
答案 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)