2

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

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

这可能吗?

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

4

2 回答 2

3

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

math = __import__('math', fromlist=['sqrt'])
SQRT2 = math.sqrt(2)
于 2018-10-17T09:36:44.200 回答
2

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

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

import math as pymath
# ...
SQRT2 = pymath.sqrt(2)
于 2018-10-17T09:35:22.920 回答