Урок: Модули и пакеты
Модули и пакеты
Модули и пакеты в Python позволяют организовывать и структурировать код, делая его более управляемым и повторно используемым. В этом уроке мы рассмотрим, как импортировать модули, использовать стандартную библиотеку Python, а также создавать собственные модули и пакеты.
Импорт модулей
Для использования функциональности, определенной в других файлах Python или библиотеках, нужно импортировать модули.
Пример импорта модуля import math print(math.sqrt(16)) # Выводит: 4.0 print(math.pi) # Выводит: 3.141592653589793
В этом примере импортируется стандартный модуль math
, который предоставляет математические функции и константы. Затем используются функции sqrt
и pi
из этого модуля.
Можно импортировать конкретные функции или переменные из модуля:
Пример импорта конкретных функций из модуля from math import sqrt, pi print(sqrt(25)) # Выводит: 5.0 print(pi) # Выводит: 3.141592653589793
Стандартная библиотека Python
Python поставляется с обширной стандартной библиотекой, которая включает модули для работы с различными задачами, такими как обработка строк, файловый ввод/вывод, работа с интернет-протоколами и многим другим.
Пример использования модуля datetime из стандартной библиотеки import datetime current_date = datetime.datetime.now() print(current_date) # Выводит текущую дату и время # Пример использования модуля random import random random_number = random.randint(1, 100) print(random_number) # Выводит случайное число от 1 до 100
В этом примере используется модуль datetime
для получения текущей даты и времени, а также модуль random
для генерации случайного числа.
Создание собственных модулей и пакетов
Вы можете создавать свои собственные модули и пакеты для организации кода. Модуль — это просто файл Python (.py), который содержит функции, классы и переменные. Пакет — это директория, содержащая модули и специальный файл __init__.py
.
Создайте файл my_module.py
со следующим содержимым:
my_module.py def greet(name): return f"Hello, {name}!" def add(a, b): return a + b
Теперь можно использовать этот модуль в другом файле:
main.py import my_module print(my_module.greet("Alice")) # Выводит: Hello, Alice! print(my_module.add(5, 3)) # Выводит: 8
Создайте структуру директорий для пакета:
my_package/ __init__.py module1.py module2.py
Файл __init__.py
может быть пустым или содержать код инициализации пакета. В module1.py
и module2.py
можно определить функции и классы.
my_package/module1.py def function1(): return "Function 1 from module 1" # my_package/module2.py def function2(): return "Function 2 from module 2"
Теперь можно использовать пакет в другом файле:
main.py from my_package import module1, module2 print(module1.function1()) # Выводит: Function 1 from module 1 print(module2.function2()) # Выводит: Function 2 from module 2
Практическое задание
- Создайте модуль с функцией, которая принимает список чисел и возвращает их среднее значение.
- Импортируйте модуль
math
и используйте функциюfactorial
для вычисления факториала числа. - Создайте пакет с двумя модулями: один для работы со строками, другой — с числами. В первом модуле создайте функцию для подсчета количества гласных в строке, во втором — функцию для нахождения максимального числа в списке.
Пример выполнения практического задания # Задание 1 # my_average_module.py def average(numbers): return sum(numbers) / len(numbers) # main.py import my_average_module numbers = [10, 20, 30, 40, 50] print(my_average_module.average(numbers)) # Выводит: 30.0 # Задание 2 import math print(math.factorial(5)) # Выводит: 120 # Задание 3 # my_package/string_module.py def count_vowels(s): vowels = "aeiouAEIOU" return sum(1 for char in s if char in vowels) # my_package/number_module.py def max_number(numbers): return max(numbers) # main.py from my_package import string_module, number_module print(string_module.count_vowels("Hello World")) # Выводит: 3 print(number_module.max_number([10, 20, 30, 40, 50])) # Выводит: 50
В первом задании создается модуль с функцией, которая вычисляет среднее значение списка чисел. Во втором задании используется функция factorial
из модуля math
для вычисления факториала числа. В третьем задании создается пакет с двумя модулями: один для работы со строками, другой — с числами. Функции из этих модулей используются для подсчета количества гласных в строке и нахождения максимального числа в списке.
Этот урок охватывает основные аспекты работы с модулями и пакетами в Python, включая импорт модулей, использование стандартной библиотеки, а также создание собственных модулей и пакетов. Практикуйтесь для лучшего понимания и освоения материала.