Импорт модулей
Содержание
Python поставляется с большим количеством готового кода. Эти части кода известны как модули и пакеты.
Модуль - это один импортируемый файл Python, а пакет состоит из двух или более модулей. Пакет может быть импортирован так же, как и модуль.
В Python вы можете импортировать модули из других файлов, чтобы использовать функции и переменные, определенные в этих модулях.
import
Python предоставляет ключевое слово import для импорта модулей.
Допустим, у нас есть два файла:
Файл dog.py
, содержащий следующий код:
def bark():
print('Гав-гав!')
Файл main.py
, в котором мы хотим использовать функцию bark
из dog.py
:
import dog
dog.bark()
Мы импортируем модуль dog
в main.py
с помощью оператора import и затем можем вызывать функцию bark()
через точку и имя модуля.
from X import Y
Мы также можем импортировать определенные функции или переменные из модуля с помощью оператора from
.
Допустим, у нас есть файл math.py
, содержащий функцию square
, которая возводит число в квадрат:
def square(x):
return x ** 2
В файле main.py
мы можем импортировать только функцию square
из math.py
:
from math import square
result = square(5)
print(result)
Мы можем использовать square
, как будто она была определена в main.py
, и не нужно вызывать ее через точку и имя модуля.
Обратите внимание, что если мы попытаемся вызвать какую-то другую функцию из math.py
, которая не была импортирована, мы получим ошибку:
from math import square
# Ошибка: name 'add' is not defined
result = add(5, 6)
import *
В Python можно импортировать все функции из модуля одной командой. Для этого используется символ звездочки (*).
Вот пример:
from math import *
Эта команда импортирует все функции и константы из модуля math, и мы можем использовать их в нашем коде без префикса math.
Однако, такой подход не рекомендуется, так как может привести к конфликту имен и ухудшить читаемость кода. Вместо этого, лучше явно указывать, какие функции и константы нужны для нашей программы.
Модуль csv Модуль configparser Логирование Модуль sys Модуль os Модуль email / smtplib Модуль sqlite Модуль subprocess Модуль потоков Thread Модуль asyncio