Квалифицированный импорт в Python - PullRequest
0 голосов
/ 17 октября 2018

Я ищу способ импортировать определенные методы из модуля квалифицированным способом;например (псевдокод), * ​​1003 *

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

Возможно ли это?

Это полезно для управления пространствами имен, чтобы не загрязнять глобальное пространство имен.Более того, эта схема четко указывает на источник метода / класса в любой части кода.Я также могу использовать import math, но тогда фактические требуемые методы (например, sqrt) будут неявными.

Ответы [ 2 ]

0 голосов
/ 17 октября 2018

Вы можете использовать встроенную функцию __import__ с параметром fromlist:

math = __import__('math', fromlist=['sqrt'])
SQRT2 = math.sqrt(2)
0 голосов
/ 17 октября 2018

Я не уверен, какую проблему вы видите при использовании import math, а затем math.sqrt?

Вы хотите назвать пространство имен по-другому?Затем сделайте что-то вроде ниже:

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