Python 合格进口
Qualified import in Python
我正在寻找一种以合格方式从模块中导入某些方法的方法;例如(伪代码),
from math import sqrt as math.sqrt
# ...
SQRT2 = math.sqrt(2)
这可能吗?
这对于管理命名空间很有用,以免污染全局命名空间。此外,该方案在代码的任何部分都清楚地表明了 method/class 的来源。
我也可以使用 import math
,但实际需要的方法(例如,sqrt
)将是隐式的。
我不确定您在使用 import math
和 math.sqrt
时会遇到什么问题?
您要以不同的方式命名命名空间吗?然后执行如下操作:
import math as pymath
# ...
SQRT2 = pymath.sqrt(2)
您可以使用带有 fromlist
参数的内置 __import__
函数来代替:
math = __import__('math', fromlist=['sqrt'])
SQRT2 = math.sqrt(2)
我正在寻找一种以合格方式从模块中导入某些方法的方法;例如(伪代码),
from math import sqrt as math.sqrt
# ...
SQRT2 = math.sqrt(2)
这可能吗?
这对于管理命名空间很有用,以免污染全局命名空间。此外,该方案在代码的任何部分都清楚地表明了 method/class 的来源。
我也可以使用 import math
,但实际需要的方法(例如,sqrt
)将是隐式的。
我不确定您在使用 import math
和 math.sqrt
时会遇到什么问题?
您要以不同的方式命名命名空间吗?然后执行如下操作:
import math as pymath
# ...
SQRT2 = pymath.sqrt(2)
您可以使用带有 fromlist
参数的内置 __import__
函数来代替:
math = __import__('math', fromlist=['sqrt'])
SQRT2 = math.sqrt(2)