- Подключать модуль через
importиfrom ... import - Применять основные функции модулей
mathиrandom - Выполнять вычисления с датами с помощью
datetime
Чтобы извлечь квадратный корень, выбрать случайное число или посчитать дни между двумя датами, не нужно писать код с нуля. Python поставляется со стандартной библиотекой, полной готовых инструментов. Они собраны в модули — ты просто подключаешь нужный и пользуешься им.
import и модуль math
Отдельный файл Python с функциями, переменными и классами. Команда import подключает модуль к программе, а к его частям обращаются через точку: math.sqrt.
import math
print(math.sqrt(144))
print(math.pi)
print(math.ceil(4.2), math.floor(4.8))
print(math.gcd(24, 36))▸ Ожидаемый результат
12.0 3.141592653589793 5 4 12
ceil округляет число вверх, floor — вниз, а gcd находит наибольший общий делитель двух чисел. Если из модуля нужны лишь несколько имён, их можно взять напрямую через from ... import — тогда писать math. не нужно:
from math import sqrt, pi
radius = 3
area = pi * radius ** 2
print(f'Circle area: {area:.2f}')
print(sqrt(2))▸ Ожидаемый результат
Circle area: 28.27 1.4142135623730951
random: случайные числа
В играх, викторинах и тестах нужна случайность. Самые популярные функции модуля random: randint(a, b) — случайное целое число от a до b (оба включительно), choice(list) — случайный элемент списка, shuffle(list) — перемешивание списка.
import random
for i in range(3):
print(f'Roll {i + 1}: {random.randint(1, 6)}')Иногда случайные результаты нужно повторить — например, при тестировании программы. random.seed() задаёт начальную точку последовательности: при одном и том же «зерне» «случайные» значения каждый раз получаются одинаковыми.
import random
random.seed(42)
print(random.randint(1, 6))
print(random.choice(['rock', 'paper', 'scissors']))
cards = [1, 2, 3, 4, 5]
random.shuffle(cards)
print(cards)▸ Ожидаемый результат
6 rock [2, 4, 5, 3, 1]
datetime: дата и время
В Азербайджане учебный год начинается 15 сентября — в День знаний. Сколько дней от этого дня до Нового года? В модуле datetime класс date обозначает дату, а timedelta — промежуток времени. Разность двух дат — это timedelta, а его атрибут days содержит количество дней.
from datetime import date, timedelta
start = date(2026, 9, 15)
new_year = date(2027, 1, 1)
print(start)
print(start.strftime('%d.%m.%Y'))
print((new_year - start).days, 'days until New Year')
print(start + timedelta(days=100))▸ Ожидаемый результат
2026-09-15 15.09.2026 108 days until New Year 2026-12-24
strftime превращает дату в строку нужного формата: %d — день, %m — месяц, %Y — год. А date.today() даёт сегодняшнюю дату — поэтому результат кода ниже каждый день разный:
from datetime import date
today = date.today()
print('Today is', today.strftime('%d.%m.%Y'))
print('Days left this year:', (date(today.year, 12, 31) - today).days)Что ещё есть в стандартной библиотеке?
| Модуль | Для чего |
|---|---|
statistics | среднее, медиана, мода |
collections | дополнительные структуры данных, например Counter |
string | готовые наборы символов: буквы, цифры |
json | чтение и запись данных в формате JSON |
time | измерение времени, ожидание |
import statistics
from collections import Counter
scores = [7, 9, 6, 9, 10, 8, 9]
print(round(statistics.mean(scores), 2))
print(statistics.median(scores))
votes = ['pizza', 'plov', 'plov', 'dolma', 'plov', 'pizza']
print(Counter(votes).most_common(2))▸ Ожидаемый результат
8.29
9
[('plov', 3), ('pizza', 2)]Counter считает голоса одной строкой.95 учеников едут на экскурсию, в автобусе 40 мест. Импортируй модуль math и выведи две строки: 1) сколько нужно автобусов (через math.ceil), 2) площадь круглого бассейна радиусом 3,5 м — с двумя знаками после точки (через math.pi).
pupils = 95
seats = 40
radius = 3.5
# 1) import math
# 2) print how many buses are needed
# 3) print the area of the pool with 2 digits after the point▸ Ожидаемый результат
3 38.48
С помощью from ... import импортируй mean и median из модуля statistics и Counter из collections. Для списка grades выведи три строки: среднее, медиану и самую частую оценку в виде Most common: 3 (2 times) (разумеется, с настоящими числами).
grades = [5, 4, 5, 3, 5, 4, 2, 5]
# 1) import mean, median and Counter
# 2) print the mean and the median
# 3) print the most common grade like: Most common: 3 (2 times)▸ Ожидаемый результат
4.125 4.5 Most common: 5 (4 times)
Главное
- Модуль — файл с готовыми функциями;
import mathподключает его, аmath.sqrtобращается к его части. from math import sqrtберёт имя напрямую, и точка больше не нужна.random.randint,choice,shuffleдают случайность, аseedделает результат воспроизводимым.dateхранит даты; разность двух дат —timedelta, а.daysдаёт число дней.- Не называй свой файл именем стандартного модуля.
Проверь себя
Вопросов: 10. Каждый правильный ответ приносит XP.
math только sqrt?