Импорт модулей

Обновлено: 2024-03-12
2 мин

Содержание

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