Как импортировать функцию в python
Перейти к содержимому

Как импортировать функцию в python

  • автор:

Артём Санников

Данная книга является руководством для начинающих специалистов в области анализа и обработки данных. В книге рассматривается язык 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 Как импортировать файл/класс или функцию?

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *