Освойте Python на курсе от Skypro. Вас ждут 400 часов обучения и практики (достаточно десяти часов в неделю), подготовка проектов для портфолио, индивидуальная проверка домашних заданий и помощь опытных наставников. Получится, даже если у вас нет опыта в IT.
Введение
Часто при написании программ на Python возникает ситуация, когда функции или классы, объявленные в одном файле, требуется использовать в другом. Это может быть необходимым, например, при организации кода по модулям для повышения его читаемости и упрощения сопровождения.
Рассмотрим простой пример. Пусть у нас есть файл functions.py
, в котором определена функция:
# functions.py def greet(name): print(f"Hello, {name}!")
И мы хотим вызвать эту функцию в другом файле, например, main.py
.
Ошибка при импорте
Наиболее распространенной ошибкой при попытке вызвать функцию из другого файла является ошибка ImportError: No module named 'file.py'; file is not a package
. Она возникает, когда мы пытаемся импортировать функцию следующим образом:
from functions.py import greet
Правильный способ импорта
Ошибка возникает из-за некорректного использования синтаксиса импорта. В Python при импорте модулей расширение .py
не указывается. Правильный способ импортировать функцию из другого файла выглядит следующим образом:
from functions import greet
Теперь функцию greet
можно вызвать в файле main.py
так:
greet("World")
При выполнении этого кода в консоли будет выведено сообщение «Hello, World!».
На курсе Skypro «Python-разработчик» освоите основные инструменты программирования, получите опыт на реальных проектах и сможете стартовать в профессии уверенным новичком. Преподаватели — практикующие программисты с большим опытом, а в центре карьеры помогут составить цепляющее резюме и подготовиться к собеседованию.
Вывод
Итак, для вызова функции из другого файла в Python необходимо использовать ключевое слово import
без указания расширения файла. Это позволяет организовать код более структурированно, выделяя логически связанные функции и классы в отдельные файлы.
Добавить комментарий