Артём Санников
Данная книга является руководством для начинающих специалистов в области анализа и обработки данных. В книге рассматривается язык SQL и его процедурное расширение PL/SQL от компании Oracle.
Главная › Языки программирования › Python › Модули › Команда import в Python
Команда import в Python
Для чего нужна команда import?
Команда import в Python предназначена для импорта функций и переменных указанного модуля в проект.
Импорт модуля
Для импорта модуля, необходимо воспользоваться командой import и после неё указать название модуля. После этого будет полный доступ ко всем функциям модуля.
Синтаксис
import [название_модуля]
Пример
Импортируем системный модуль sys и выводим значение переменной path этого модуля.
import sys list_path = sys.path for x in list_path: print(f'')
Псевдоним для импортируемого модуля
Чтобы присвоить импортируемому модулю псевдоним (альтернативное название) необходимо использовать команду as . Псевдонимы применяют в тех случаях, когда разработчику не нравится название модуля или существует конфликт с уже импортированными модулями.
Обратите внимание: при назначении нового псевдонима для модуля, функций модуля сохраняют свои исходные имена.
Синтаксис
import [название_модуля] as [псевдоним]
Пример
import sys as s list_path = s.path for x in list_path: print(f'')
Импорт всех функций и переменных из модуля
Чтобы выполнить импорт всех функций и переменных модуля, необходимо использовать символ * . Данный способ импорта не рекомендуется использовать в проектах у которых уже импортированы другие модули, так как могут возникнуть конфликты.
Синтаксис
from [название_модуля] import *
Пример
Из системного модуля sys импортируем все функции и модули, а затем выводим значение переменной path
from sys import * list_path = path for x in list_path: print(f'')
Импорт функции из модуля
Чтобы импортировать из модуля одну или несколько функций, достаточно после ключевого слова import перечислить название функций через запятую.
Синтаксис
# Импорт одной функции from [название_модуля] import [название_функции] # Импорт нескольких функций from [название_модуля] import [название_функции_1], [название_функции_2], .
Пример
Из модуля time импортируем две функции localtime и strftime . При помощи функции localtime получаем текущее время, а при помощи strftime приводим полученное время к нужному формату.
from time import localtime, strftime lt = localtime() lt_format = strftime('%H:%M:%S', lt) print(lt_format)
Псевдоним для импортируемой функции
Для назначения псевдонима (альтернативного названия) для импортируемой функции нужно использовать команду as
Синтаксис
# Псевдоним для функции from [название_модуля] import [название_функции] as [псевдоним] # Псевдонимы для функций from [название_модуля] import [название_функции_1] as [псевдоним_1], [название_функции_2] as [псевдоним_2], .
Пример
Из модуля time импортируем две функции localtime и strftime , а затем присваиваем им псевдонимы current_time и time_format
from time import localtime as current_time, strftime as time_format print(time_format('%H:%M:%S', current_time()))
Функция __import__() находит и импортирует модуль
Заметка
Это продвинутая функция, которая не нужна в повседневном программировании на Python, в отличие от importlib.import_module() .
Функция __import__() вызывается инструкцией import . Прямое использование __import__() также не рекомендуется в пользу importlib.import_module()
Функция __import__() импортирует имя модуля name , используя данные значений переменных глобальной globals и локальной locals областей видимости, чтобы определить, как интерпретировать имя name в контексте пакета. Список from оператора import дает имена объектов или подмодулей, которые должны быть импортированы из модуля, указанного по имени name . Стандартная реализация вообще не использует свой аргумент locals , а использует глобальные переменные только для определения контекста пакета, указанного в инструкции import .
Уровень level указывает, использовать ли абсолютный или относительный импорт. 0 — по умолчанию, означает только выполнить абсолютный импорт. Положительные значения для уровня указывают количество родительских каталогов для поиска, относительно каталога вызывающего модуля __import__() .
Когда переменная name имеет форму package.module , обычно возвращается пакет верхнего уровня (имя до первой точки), а не модуль, названный по имени name . Однако когда задан непустой аргумент fromlist , возвращается модуль с именем name .
Например, оператор import spam приводит к инструкциям, похожим на следующий код:
spam = __import__('spam', globals(), locals(), [], 0)
Инструкция import spam.ham приводит к выполнению этого кода. Обратите внимание, как __import__() возвращает здесь модуль верхнего уровня, поскольку это объект, связанный с именем инструкцией import .
spam = __import__('spam.ham', globals(), locals(), [], 0)
Конструкция импорта вида from spam.ham import eggs, sausage as saus приводит к выполнению следующего кода:
_temp = __import__('spam.ham', globals(), locals(), ['eggs', 'sausage'], 0) eggs = _temp.eggs saus = _temp.sausage
Здесь из модуля ‘spam.ham’ извлекаются имена ‘eggs’ , ‘sausage’ для импорта и присваиваются им соответствующие имена ‘eggs’ , ‘saus `.
Если вы просто хотите импортировать модуль по имени, используйте importlib.import_module() .
- ОБЗОРНАЯ СТРАНИЦА РАЗДЕЛА
- Функция abs(), абсолютное значение числа
- Функция all(), все элементы True
- Функция any(), хотя бы один элемент True
- Функция ascii(), преобразует строку в ASCII
- Функция bin(), число в двоичную строку
- Класс bool(), логическое значение объекта
- Функция breakpoint(), отладчик кода
- Класс bytearray(), преобразует в массив байтов
- Класс bytes(), преобразует в строку байтов
- Функция callable(), проверяет можно ли вызвать объект
- Функция chr(), число в символ Юникода
- Класс classmethod, делает функцию методом класса
- Функция compile() компилирует блок кода Python
- Класс complex(), преобразует в комплексное число
- Функция delattr(), удаляет атрибут объекта
- Класс dict() создает словарь
- Функция dir(), все атрибуты объекта
- Функция divmod(), делит числа с остатком
- Функция enumerate(), счетчик элементов последовательности
- Функция eval(), выполняет строку-выражение с кодом
- Функция exec(), выполняет блок кода
- Функция filter(), фильтрует список по условию
- Класс float(), преобразует в вещественное число
- Функция format(), форматирует значение переменной
- Класс frozenset(), преобразует в неизменяемое множество
- Функция getattr(), значение атрибута по имени
- Функция globals(), переменные глобальной области
- Функция hasattr(), наличие атрибута объекта
- Функция hash(), хэш-значение объекта
- Функция help(), справка по любому объекту
- Функция hex(), число в шестнадцатеричную строку
- Функция id(), идентификатор объекта
- Функция input(), ввод данных с клавиатуры
- Класс int(), преобразует в тип int
- Функция isinstance(), принадлежность экземпляра к классу
- Функция issubclass(), проверяет наследование класса
- Функция iter(), создает итератор
- Функция len(), количество элементов объекта
- Класс list(), преобразовывает в список
- Функция locals(), переменные локальной области
- Функция map(), обработка последовательности без цикла
- Функция max(), максимальное значение элемента
- Класс memoryview(), ссылка на буфер обмена
- Функция min(), минимальное значение элемента
- Функция next(), следующий элемент итератора
- Класс object(), возвращает безликий объект
- Функция oct(), число в восьмеричную строку
- Функция open(), открывает файл на чтение/запись
- Функция ord(), число символа Unicode
- Функция pow(), возводит число в степень
- Функция print(), печатает объект
- Класс property(), метод класса как свойство
- Класс range(), генерирует арифметические последовательности
- Функция repr(), описание объекта
- Функция reversed(), разворачивает последовательность
- Функция round(), округляет число
- Класс set(), создает или преобразовывает в множество
- Функция setattr(), создает атрибут объекта
- Класс slice(), шаблон среза
- Функция sorted(), выполняет сортировку
- Декоратор staticmethod(), метод класса в статический метод
- Класс str(), преобразует объект в строку
- Функция sum(), сумма последовательности
- Функция super(), доступ к унаследованным методам
- Класс tuple(), создает или преобразует в кортеж
- Класс type(), возвращает тип объекта
- Функция vars(), словарь переменных объекта
- Функция zip(), объединить элементы в список кортежей
- Функция __import__(), находит и импортирует модуль
- Функция aiter(), создает асинхронный итератор
- Функция anext(), следующий элемент асинхронного итератора
Как импортировать функцию из другой папки
Если файл main действительно находится в директории Project1 — должно работать. Вы не ошиблись с описанием структуры? Какой IDE пользуетесь?
24 дек 2021 в 14:18
PyCharm Professional Edition
24 дек 2021 в 14:19
Можно попробовать обратиться к функции через импорт всего файла. Попробуйте from dev import test . А в main.py вызвать функцию test.get_summa()
24 дек 2021 в 14:23
теперь получилось. Спасибо большое!
24 дек 2021 в 14:29
-
Важное на Мете
Похожие
Подписаться на ленту
Лента вопроса
Для подписки на ленту скопируйте и вставьте эту ссылку в вашу программу для чтения RSS.
Дизайн сайта / логотип © 2023 Stack Exchange Inc; пользовательские материалы лицензированы в соответствии с CC BY-SA . rev 2023.11.15.1019
Нажимая «Принять все файлы cookie» вы соглашаетесь, что Stack Exchange может хранить файлы cookie на вашем устройстве и раскрывать информацию в соответствии с нашей Политикой в отношении файлов cookie.
Импорт функции из другого файла
Помогите, пожалуйста, разобраться. С несколькими вопросами. Задача первая: У меня есть два файла: C:\pytest\One\main.py C:\pytest\One\mymodule.py mymodule.py содержит:
class example: def hello(): print('Hello, world!') def fib(n): a = b = 1 for i in range(n - 2): a, b = b, a + b return b
main.py содержит:
import mymodule mymodule.example.hello() print(mymodule.example.fib(10))
В этом случае я импортировал модуль целиком. Могу ли я вызвать импортировать только класс или функцию?
from mymodule import example
from mymodule import hello
Возникает ошибка:
ImportError: cannot import name 'fib'
Задача вторая: Файлы те же, но они лежат в разных папка У меня есть два файла: C:\pytest\One\main.py C:\pytest\Two\mymodule.py Как импортировать файл/класс или функцию?