Как лучше импортировать модуль
Есть например модуль - math, и из него я хочу импортировать только некоторые. Как лучше делать?
Так?
from math import *
#Которые я допустим использую:
pi
e
sqrt
cos
import math
#И потом я их тоже использую...
math.pi
math.e
math.sqrt
math.cos
Или лучше вообще вот так?
from math import pi, e, sqrt, cos
#И потом я их тоже использую...
pi
e
sqrt
cos
Или как-то по другому?
Есть ли разница в скорости программы, или это одно и тоже? Да и как вообще лучше делать?
Ответы (1 шт):
Вот этот вариант самый правильный:
from math import pi, sqrt
Причины:
Иногда имена функций в модулях обозначаются одинаковыми именами и после этого начинается большая путаница. Этот вариант будет наглядно показывать все имена функций и вы быстро найдете ошибку.
Также не забывайте, что при компиляции файла в exe весь модуль math будет скачиваться в ваш .exe файл. В итоге ваша программа будет весить больше, а способ, который указан выше будет скачивать только нужные функции. В итоге, ваша программа (.exe) будет весить меньше. Но если вы используете много функций модуля (>50%) или делайте например тематическое приложение на основе math (например калькулятор), то лучше импортировать так:
from math import *
В общем, конечно разницы нет, но вот есть некоторые рекомендации, основанные на личном опыте.