/
Текст
СРРАВОЧНИК
PYTHON
PMITRIU ODICCEEB
Дмитрий Одиссеев
Справочник Python
Вложенное
Эта книга - не учебник. И не энциклопедия. Это скорее блокнот, который лежит рядом, когда ты пи-
шешь код и вдруг забываешь, как работает enumerate() или как правильно импортировать datetime. Я
не ставил цель объяснить всё. Я хотел собрать то, что действительно нужно. Без воды. Без философии.
Только команды, конструкции, модули, скрипты - всё, что поглотает не зависать на Stack Overflow no 40
минут из-за одной строчки. Если ты только начинаешь - отлично. Если ты уже пишешь на Python, но
хочешь держать под рукой короткие и понятные шпаргалки - ещё лучше. А если ты просто любишь,
когда всё под рукой и по делу - тогда мыс тобой на одной волне. Я писал это не как преподаватель. А
как человек, который сам сто раз забывал, как работает zip(), и каждый раз гуглил, как правильно пи-
сать lambda.
Пусть эта книга будет твоим быстрым входом, твоим напоминанием, твоим карманным Python-на-
парником.
Поехали.
Основы Python: переменные и типы данных, простые конструкции
X = ю
Name = “Артем”
Is_active = True
А = 5 # int
В = 3.14 # float
С = “hello” # str
D = [1, 2, 3] # list
E = (1, 2) # tuple
F = {“x”: 1} # diet
G = {1, 2, 3} # set
H = None # NoneType
Name = input(“Введите имя: “)
PrintC-Привет,”, name)
Age = 18
If age >= 18:
PrintCДоступ разрешён")
Elif age > o:
Print(“Слишком рано")
Else:
Print(”Некорректн ый возраст”)
For i in range(5):
Print( i)
N = O
While n < 5:
Print(n)
N+= 1
# Это однострочный комментарий
Это
Многострочный
Комментарий
Функции, списки, словари и работа с данными
Функции позволяют переиспользовать код и делать его чище.
# Определяем функцию с аргументом name
def greet(name):
Return f’Привет, {name}’"
# Вызываем функцию и выводим результат
Print(greet(“ApTeM"))
# Если имя не передано, будет использовано “гость”
def greet(name=”rocTb”):
РгшКГ’Привет, {name}")
# Функция возвращает к( >ртеж из двух чисел
Def get_coords():
Return 10, 20
# Распаковываем результат в две переменные
X, у = get_coords()
Списки: list
# Создаём список фруктов
Fruits = [‘ яблоко", "банан”, ‘"вишня”]
# Добавляем элемент в конец списка
Fruits. append(“rpyma”)
# Изменяем второй элемент (индексация с нуля)
Fruits[i] = “манго”
# Выводим первый элемент
Print(fruits[o])
# Проходим по каждому’ элементу7 списка. Перебор списка
For fruit in fruits:
Print(fruit)
# Выводим элементы с индексами 1 и 2 (не включая з). Это срезы
Print(fruits[i:3j)
OioBapn(dict)
Словари это пары ключ значение
# Создаём словарь с данными о человеке
Person = {“name”: “Артем", “age": 30}
# Получаем значение по ключу
Print(person[“name”])
# Добавляем новый ключ и значение
Person [“city”] = “Москва”
# Проходим по ключам и значениям
For key, value in person.items():
Print(key, value)
Множества (set)
Это неупорядоченная коллекция
# Создаём множество
Nums = {1, 2, 3}
# Добавляем элемент
Nums.add(4)
# Удаляем элемент
N urns. rem о ve( 2)
Операции иад множествами:
А = {1, 2,3}
В = {3, 4. 5}
# Пересечение множеств (общие элементы)
Printfa & Ь)
# Объединение множеств (все уникальные элементы)
Print(a | Ь)
Кортежи (tuple)
Кортежи - это неизменяемые списки
# Создаём кортеж
Point = (10, 20)
# Распаковываем значения в переменные
X, у = point
# Проверяем, есть ли “яблоко” в списке
If “яблоко” in fruits:
PrintC'EcTb яблоко!”)
# Сравнение
А = 5
В = ю
Print(a == b) # False
Print (а != b) # True
Print(a < b) # True
# Логические операторы
X = True
Y = False
Print(x and y) # False
Print(x or y) # True
Print(not x) # False
Арифметические операторы:
A = 10
B = 3
Print(a + b) # 13
Print(a - b) # 7
Print (a * b) # 30
Print(a / b) # 3-333—
Print(a // b) # 3 (целочисленное деление)
Print(a % b) # 1 (остаток)
Print(a ** b) # 1000 (возведение в степень)
Работа со строками:
Text = “Привет, мир”
# Индексация и срезы
Print(text[o]) # П
Print(text[-1]) # р
Print(text[o:6j) # Привет
# Методы строк
Print(text.upper()) # ПРИВЕТ, МИР
Print(text.lower()) # привет, мир
Print(text.replace(“MHp”, “Python”)) # Привет, Python
Print(len(text)) # Длина CTpoKHtext = “Привет, мир”
# Индексация и срезы
Print(text[o]) # П
Print(text[-i]) # р
Print(text[o:6]) # Привет
# Методы строк
Print(text.upper()) # ПРИВЕТ, МИР
print(text.lower()) # привет, мир
print(text.replace("MHp", "Python”)) # Привет, Python
print(len(text)) # Длина строки
Форматирование строк:
Name = “Артем”
Age = 30
# Старый способ
Ргт1(“Имя: %s, возраст: %d” % (name, age))
# Новый способ
Рпп1(“Имя: {}, возраст: {}”.format(name, age))
# f-строки (современно и удобно)
Рпп1(Г’Имя: {name}, возраст: {age}”)
Генераторы списков
# Создание списка квадратов чисел от о до 4
Squares = [х**2 for х in rangefe)]
Print(squares) # [о, 1, 4, 9, 16]
# Фильтрация
Evens = [х for х in range(io) if x % 2 == о]
Print(evens) # [o, 2, 4, 6, 8]
Встроенные функции:
Numbers = [1, 2, 3, 4]
Print(len(numbers)) # 4
Print(sum(numbers)) # 10
Print(max(numbers)) # 4
Print(min(numbers)) # 1
Print(sorted(numbers)) # [1, 2, 3, 4]
Age = 18
If age >= 18:
Print (“Доступ разрешён”)
Else:
Ргш1(“Извини, тебе нет 18”)
Score = 75
If score >=90:
Print(” Отлично! ”)
Elif score >=70:
Print(“Xoponio”)
Else:
PrintC’Нужно подтянуть")
User = ‘admin”
Password = “1234”
If user == “admin”:
If password == "1234”:
Print (“Добро пожаловать, админ!”)
Else:
Print (“Пароль неверный")
Else:
Print(“ Пользователь не найден”)
Login = True
Permissions = True
If login and permissions:
Рппё(“Вход успешен”)
Else:
Printf"Ошибка доступа”)
Цикл for
For - проходит по каждому элемент}7 списка. От начала до конца.
Names = ["ООО”, "Игорь”, "Лена”]
For name in names:
Print (f'l Тривет, {name}")
Цикл while. Пока условие верно
Counter = о
While counter < 5:
Pri nt(f’Счётчик: {counter}”)
Counter += 1
Перебор по диапазону range
For i in range(3):
Print С' Бум!”)
For i in range(i, 6, 2):
Print(i) # 1, 3, 5
Управление циклом
For i in range(io):
If i == 5:
Break # выйти из цикла
Print(i)
For i in range(s):
If i % 2 == o:
Continue # пропустить выполнение
Print(i)
For i in range(3):
Print(i)
Else:
Ргш1(“Цикл завершён без break”)
For i in range(3):
For i in range(2):
Print(f’i={i},j={j}”)
Простабудетя функция
Def greet():
Printf Привет, Одиссей!")
Greet() # вызов
Функция с параметрами
Def greet(name):
Printff’Привет, {name}!”)
Greet(“JIeHa”) # Привет, Лена!
Возвращаем значение
Def square(x):
Return x ** 2
Result = square(5)
Print(result) # 25
Значение поу умолчанию
Def greet(name=”rocTb”):
Print(f’4o6po пожаловать, {name}”)
GreetQ # Добро пожаловать, гость
Greet ("Анна”) # Добро пожаловать, Анна
Аргументы
Def show_all(*args):
For item in args:
Print(item)
Show_all(“файл 1.txt”, “файл2ЛхР*)
Def config(**kwargs):
For key, value in kwargs.itemsQ:
PrintlfXkey} = {value}”)
Config(theme=”dark'', font=”Arial”)
Вложенные функции
Def outer():
Def inner():
Print(“BHyrpn!”)
Inner()
Исключения
Try - пытаемся выполнить
Except - ловим ошибку и пишем
Базовая конструкция try-except
Try:
Number = int(input (“Введите число: “))
Except ValueError:
Print(“3T0 не число!")
Обработка нескольких ошибок
Try:
F = openf data.txt”)
Content = f.read()
Except FileNotFoundError:
Рп^С'Файл не найден”)
Except ЮЕггог:
PrintC Ошибка при чтении”)
Обработчик finally
Он выполняется всегда, даже если выдает ошибку. В этом случае он закрывает файл.
Try:
F = open(“data.txf’)
# операции
Except:
Рпт(“Ошибка”)
Finally:
f.close() # выполняется всегда, даже при ошибке
Создание своих исключений
Raise позволяет вручную вызвать исключение.
Def check_age(age):
If age < о:
Raise ValueError(" Возраст не может быть отрицательным*’)
Check_age(-5) # вызовет ошибку
Отработка по типу ошибки
Try:
X = 1 / о
Except ZeroDivisionError as е:
Print(f’Ошибка деления: {е}")
Lambda функции (анонимные)
Это однострочная анонимная функция без имени. Подходит чтобы совершить быстрое действие без
присваивании и объявлений в коде переменных
Square = lambda х: х ** 2
Print(square(5)) # 25 # можно так но эффективно будет функцию задать в print без переменной.
Примеры использования
С тар
Nums = [1, 2, 3]
Squares = list(map(lambda х: х ** 2, nums))
Print(squares) #[1,4, 9J
C filter
Nums = [5, 8, 11, 3]
Evens = list(filter(lambda x: x % 2 == o, nums))
Print(evens) # [8]
Сортировка по условию
Data = [(1, “A”), (3, “В”), (2, “C”)]
Sorted_data = sorted(data, key=lambda item: item[o])
Print(sorted_data) # [(1, ’A’), (2, ‘C’), (3, ’B‘)J
Если логика функции сложная или огромная, то здесь она не пригодится.
Дополнение к прошлым командам
Списки list
AppendQ
Добавляет элемент в конец списка
Names.аррепйС’Игорь")
Extend ()
Добавляет несколько элементов сразу
Nums.extend([_4, 5])
Insert()
Вставляет элемент по индексу
Colors .insert(i, “зелёный”)
Remove()
Удаляет первое вхождение элемента
Fruits, removef'яблоко")
Рор()
Удаляет элемент по индексу (или последний)
Items.pop(o)
Sort()
Сортирует список
Scores.sortQ
Reverse()
Переворачивает список
Cards. reverseO
CountQ
Считает количество вхождений элемента
Numbers. count(7)
Index()
Возвращает индекс элемента
Names.index(“JleHa")
Строки str
StripO
Удаляет пробелы по краям строки
“ текст “.stripO —> “текст”
Split()
Делит строку по разделителю
“a,6,B”-split(T) - [“а”, "б”, “в”]
Joint)
Объединяет список строк в одну строку
- join(L а , b , с ]} —> а-Ь-с
ReplaceQ
Заменяет подстроку7
ТехЕгер1асе(“мир”, “Python")
Upper()
Превращает в заглавные буквы
“test”.upper() -► “TEST”
LowerQ
Превращает в строчные
“TEST”.lower() -> “test”
Find()
Ищет подстроку и возвращает индекс
“hello”.find(“e”) -> 1
Словари diet
Get()
Получает значение по ключу
User.get(“name”)
KeysQ
Возвращает список всех ключей
Data.keysQ
ValuesQ
Возвращает список всех значений
Data.valuesQ
Itenis()
Список пар ключ-значение
For k, v in info.items(): print(k, v)
UpdateQ
Обновляет словарь новым содержимым
Config.update({‘ theme”: "dark”})
Pop()
Удаляет ключ и возвращает его значение
User.pop("age”)
Функции
Def
Объявляет функцию
Def greetQ: рпп!(“Привет”)
Return
Возвращает значение из функции
Return х * 2
Lambda
Анонимная компактная функция
Lambda х: х ** 2
*args
Передача любого количества позиционных аргументов
Def show(*args): print(args)
**kwargs
Передача именованных аргументов
Def config(**kwargs): print(kvvargs)
Циклы for
For
Цикл перебора элементов из коллекции
For item in items: print(item)
While
Цикл с условием
While x < 5: x += 1
Break
Прерывает цикл досрочно
For x in range(io): if x == 5: break
Continue
Пропускает текущую итерацию
For x in range(5): if x == 2: continue
Else
Выполняется, если цикл завершился без break
For х in range(3): print(x) else: print(‘ToTOBo”)
Условия if, else, iflse
if
Проверяет условие
If x > 5: ргт1(“Болыие”)
Elif
Дополнительная проверка
If x == о: рпп1(“Ноль”) elif х > о: рг1п1(“Положительное”)
Else
Выполняется, если ни одно условие нс подошло
If х < о: print(“OTpiiцателыюе") else: рпп1(“Непопятпо”)
Not
Отрицает булево значение
Not True —> False
Арифметика
Сложение чисел
Л + Ъ
Вычитание
А-Ъ
Умножение
А*Ь
/
Обычное деление
А/Ь
//
Целочисленное деление
А//Ь
%
Остаток от деления
А%Ъ
Возведение в степень
А** b
And
Логическое И
True and False —► False
Or
Логическое ИЛИ
True or False —> True
Проверка на равенство
X==y
X-
Проверка на неравенство
Х!=у
Встроенные функции
Len()
Возвращает длину объекта
Ьеп(“Привет”) —> 6
Sum()
Считает сумм}7 элементов
Sum([i, 2, 3]) -> 6
Мах()
Возвращает максимальное значение
Мах([з, 8, 5]) -► 8
Min()
Возвращает минимальное значение
Min([3, 8, 5]) -> 3
Sorted()
Сортирует список
Sorted([3,1, 2]) -> [1, 2, 3]
Итераторы и генераторы
Итераторы
IterQ
Создает итератор из коллекции
It = iter([i, 2, 3])
Next О
Возвращает следующий элемент итератора
Next(it) —> 1
For х in iter([iо, 20, 30J):
Print(x) # работает как обычный for
Создание собственного итератора
Class Counter:
Def____init___(self, max):
Self, max = max
Self, cur = о
Def____iter___(self):
Return self
Def next______(self):
If self.cur < self.max:
Self, cur += 1
Return self.cur
Else:
Raise Stopiteration
For n in Counter(3):
Print(n) # 1, 2, з
Генераторы
Yield
Промежуточный возврат значения из генератора
Def gen():
Yield 1
Yield 2
For x in gen():
Print(x) # 1, 2
Def countdown(n):
While n > o:
Yield n
N-= 1
For num in countdown(3):
Print(num) # 3, 2,1
Def even_numbersQ:
For i in range(io):
Ifi%2==o:
Yield i
List(even_numbersO) —> [o, 2,4, 6, 8]
Раабота с файлами
Ореп()
Открывает файл и возвращает файловый объект
F = open(“data.txt”, “г”)
ReadQ
Читает весь файл как строку
Content = f.readQ
ReadlineQ
Читает одну строку из файла
Line = f.readlineQ
ReadlinesQ
Читает все строки и возвращает список
Lines = f.readl ines()
WriteQ
Записывает строку в файл
f.writeC Привет, мир!")
writelines()
Записывает список строк
f.writelines([“nepBan\n”, ‘ Вторая\п"])
close()
Закрывает файл (обязательно после записи/чтения)
f.closeQ
Режим открытия файла
Открытие для чтения (файл должен существовать)
Open(“file.txt”, “г”)
“w”
Открытие для записи (перезапишет существующий файл)
Open(“file.txt”, “w”)
“а”
Открытие для добавления (дописывает в конец файла)
Open(“log.txt”, “а”)
“rb”
Открытие в двоичном режиме для чтения
Ореп("image.png”, “rb”)
Безопасное открытие файла
With open(“data.txt”, “г”) as f:
Content = f.read()
With open("output.txt”, “w”) as f:
f.write(“ Сохранено! ”)
Автоматически закроет и откроет файл. Даже если такого нет}7. Не будет никаких ошибок. Рекомен-
довано использовать только этот менеджер with as.
Дополнение к файлам
ТеЩ)
Возвращает текущую позицию курсора в файле
f.tellQ
seek()
Перемещает курсор на нужную позицию
f.seek(o) # в начало
ООП. Классы и объекты
Class
Создаёт новый класс (шаблон объекта)
Class Hero: pass
__init__
Конструктор класса, вызывается при создании объекта
Def___init__(self, name): self.name = name
Self
Ссылается на текущий объект внутри класса
Self.health = 100
Object = Class()
Создание объекта из класса
Н = НегоС’Одиссей’’)
Создание базового класса
Class Warrior:
Def init (self, name):
Self, name = name
Def greet(self):
Print(f’H воин {self.name}!”)
Методы и свойства
Методы - функции внутри класса
Def attack(self): print(“Атака!”)
Свойства - данные объекта
Self.name, self.health, self.power
Ключевые команды и конструкции
__str__
Определяет строковое представление объекта
Def____str__(self): return self.name
__repr___
Представление объекта в интерпретаторе
Def____repr_(self): return f'Hero({self.name})”
@ classmethod
Метод класса, работает с самим классом
@classmethod def from_level(cls, level): return cls(“ Новичок")
@staticmethod
Метод без ссылки на класс или объект
(©staticmethod def help(): print(“3TO помощь!")
IsinstanceO
Проверка типа объекта
Isinstancefobj, Warrior) —> True
HasattrQ
Проверка, есть ли у объекта атрибут
Hasattr(obj, "name") True
SetattrQ
Задаёт значение атрибута
Setattr(obj, “level", 5)
Getattr()
Получает значение атрибута
Getattr(obj, “level”) —> 5
(^decorator
Применяет декоратор к функции
@ timer
Def
Обычное определение функции, которую декорируют
Def run(): print(“3arpy3Ka”)
Пример базового декоратора
Def decorator(func):
Def wrapper():
Ргнй("До функции”)
FuncQ
Рпп1(“После функции")
Return wrapper
@ decorator
Def greet():
Print(“ Привет, Одиссей!”)
Greet()
# До функции
# Привет, Одиссей!
# После функции
Команды связанные с декораторами
(S)staticmethod
Превращает метод в статический - не требует self
@staticmethod def help(): рНп1(“Помощь”)
@classmethod
Получает сам класс вместо объекта (cis вместо self)
(д>classmethod def build(cls): return с1з(“новый”)
Functools .wraps
Сохраняет имя и docstring исходной функции
From functools import wraps
(tp wraps (func)
Применяется внутри декоратора
Сохраняет '__name____'_____doc___'
Def repeat(n):
Def decorator(func):
Def wrapper():
For _ in range(n):
Func()
Return wrapper
Return decorator
@repeat(3)
Def clap(): print(“”)
Clap()
#
s
Командный словарь Pylhon
list (Список)
Append() Добавляет элемент в конец списка
Extend() Добавляет список элементов
Insertf) Вставляет по индексу
Remove() Удаляет первое совпадение
Рор() Удаляет по индексу
С1еаг() Очищает список
Index() Находит индекс элемента
CountO Подсчитывает количество
SortO Сортирует
Reverse() Переворачивает
Сору() Создаёт копию
tr
StripO Удаляет пробелы по краям
RstripO Удаляет справа
LstripO Удаляет слева
Split() Делит строку
Join() Склеивает строку из списка
Replace() Заменяет подстроку
Find() Находит индекс
Rfindt) Находит последнее вхождение
IndexQ Как find, но с ошибкой
Startswith() Проверяет начало
Ends with () Проверяет конец
иррег() В верхний регистр
Lower() В нижний регистр
Capital]ze() Первая буква заглавная
Title() Каждое слово с заглавной
Swapcasct) Меняет регистр
Isnumerict) Только цифры
IsalphaQ Только буквы
IsalnumQ Только буквы+цифры
Isuppert) Все заглавные
IslowerQ Все строчные
Len() Длина строки
Formatt) Форматирование
Diet
(словарь)
Get() Получить значение по ключу
Keys() Список всех ключей
ValuesQ Список всех значений
Items() Пары ключ-значение
Update() Обновление словаря
Рор() Удаление ключа
Popitem() Удаление последнего элемента
ClearQ Очистить словарь
Setdefault() Получить или создать значение
Сору() Копия словаря
Set
(множества)
Add() Добавить элемент
Remove() Удалить элемент (ошибка если нет)
Discard() Удалить элемент (без ошибки)
Рор() Удаляет случайный элемент
С1еаг() Очистить
Сору() Копия множества
Union() Объединение
IntersectionO Пересечение
Difference() Разность
Symmetric_difference() Симметричная разность
IssubsetQ Проверка подмножества
Issuperset() Проверка надмножества
Isdisjoint() Проверка, что множества не пересекаются
UpdateQ Объединяет с другим множеством
Tuple
(кортежи)
Count() Количество вхождений
Index() Индекс элемента
Len() Длина кортежа
input/output
Input() Ввод данных
PrintO Вывод данных
Formatf) Формат строки
F”{}” f-строка форматирования
рифметика
+ Сложение
- Вычитание
* Умножение
/ Деление
// Целочисленное деление
% Остаток от деления
** Возведение в степень
Abs() Модуль числа
Ron nd () Округление
огика и условия
== Равенство
!= Неравенство
<><=> = Сравнение
And Логическое И
Or Логическое ИЛИ
Not Отрицание
If / elif / else Условные блоки
иклы
For Цикл перебора
Wliile Цикл с условием
Break Прерывание цикла
Continue Пропуск итерации
Else После цикла без break
Range() Диапазон чисел
Enumerate() Перебор с индексом
Zip() Совмещение списков
ф
ункции
Def Определение функции
Return Возврат результата
Lambda Анонимная функция
*args Позиционные аргументы
**kwargs Именованные аргументы
Мар() Применяет функцию к списку
Filter() Фильтрует по условию
ReduceO Свёртка (нужен import functools)
итераторы и генераторы
Iter() Получить итератор
NextQ Следующий элемент
Yield Вернуть значение из генератора
___iter_Поведение объекта в for
________next_Следующий шаг в итераторе
абота с файлами
Ореп() Открыть файл
Read() Прочитать весь файл
Readline() Прочитать строку’
ReadlinesQ Список строк
WriteQ Записать строку
Writelines() Записать список строк
Close() Закрыть файл
Seek() Переместить курсор
Те11() Позиция курсора
With ореп() Контекстный менеджер для файлов
ООП
Class Создание класса
___init_Конструктор
Self Ссылка на объект
___str__Строковое представление
___герг_Представление в интерпретаторе
IsinstanceQ Проверка типа
HasattrQ Проверка наличия атрибута
GetattrQ Получить значение атрибута
SetattrQ Установить значение атрибута
Delattr() Удалить атрибут
(^staticmethod Статический метод
@classmethod Метод класса
(^property Свойство
д
екораторы
@decorator Обёртка над функцией
@wraps Сохраняет имя и описание функции
@staticmethod Метод без self
@classmethod Метод с cis вместо self
в
строенные функции
Len() Длина объекта
Sum() Сумма элементов
Мах() Максимум
Min() Минимум
SortedQ Отсортированный список
Туре() Тип объекта
Dir() Атрибуты объекта
Не1р() Справка
IntQ / strQ / float () Приведение типа
Воо1() Логическое значение
RangeO Создание диапазона
EnumerateO Индекс + значение
Zip() Комбинирует списки
Reversed() П ереворачивает
AnyO True если хоть один True
АПО True если все True
и
сключения
Try7 / except Обработка ошибки
Finally Блок, выполняемый всегда
Raise Вызов ошибки
Assert Проверка условия
м
одульные команды
Import Импорт модуля
From ... import ... Импорт части
As Псевдоним модуля
Sys.argv Аргументы из консоли
Os.path.exists Проверка файла
Datetime.now() Текущее время
Json.loads() Преобразование строки в JSON
Json.dumps() Преобразование в строку
Модули
RandomQ
Генерирует случайное число от о.о до 1.0
Random.randomQ —> 0.37248
Uniform(a, b)
Случайное число с плавающей точкой от а до Ъ
Random.unilbrm(i.5, 9.5) —> 7.134
Randint(a, b)
Случайное целое число от а до b включительно
Random.randint(i, 100) —> 42
Randrange(start, stop[, step])
Случайное число из диапазона
Random.randrange(io, 50, 5) —> 25
Choice(seq)
Случайный элемент из последовательности
Random.choice([“кошка”, ‘‘собака”, “хомяк”]) —> “хомяк”
Choices(seq, k=i)
Список случайных элементов с повторениями
Random.choices("abc”, k=5) —> [‘a’, ‘c’, ‘b’, ‘b’, ‘a’]
Sample(seq, k)
Случайные уникальные элементы без повторов
Random.sample(range(io), к=ц) [3, 9,1, 5]
Shuffle(seq)
Перемешивает список на месте
Lst = [1, 2, 3]; random.shuffle(lst) —> [3,1, 2]
Seed(n)
Устанавливает начальное значение генератора
Random.seed(i23) # повторяемость результата
Betavariate(alpha, beta)
Распределение Бета
Random.betavariate(2.o, 5.0)
ExpovariateQambd)
Экспоненциальное распределение
Random. expovariate(i. о)
Gammavariate( alpha, beta)
Г амма-распределение
Random.gammavariate(3.o, 1.0)
Gauss(mu, sigma)
Гауссово распределение (нормальное)
Random.gauss(o, 1)
Lognormvariate(mu, sigma)
Логнормальное распределение
Random.] ognormvariate(o, 1)
Normalvariate(mu, sigma)
Нормальное распределение
Random. normalvariate(o, 1)
Vomnisesvariate(mu, kappa)
Распределение фон Мизеса
Random.vonmisesvariatefo, 4)
Paretovariate(alpha)
Распределение Парето
Random.paretovariate( 2.5)
Weibullvariate(alpha, beta)
Вейбуллово распределение
Random.weibullvariate(i.5, 0.5)
Time()
Возвращает текущее время в секундах с эпохи
Time.timeO —> 1720894562.821
Sleep(seconds)
Приостанавливает выполнение на N секунд
Time.sleep(2)
Ctime(seconds)
Преобразует время в строк)7
Time.ctime(i72o894562) —> Tue Jul 13 10:16:02 2025'
Localtime(seconds)
Преобразует в локальное время в виде структуры
Time.localtimeO time.struct_time(...)
Gmtime(seconds)
Преобразует в UTC-структуру времени
Time.gmtimeO
Strftime(fmt, struct_time)
Форматирует структуру времени в строку
Time.strftimeC‘%Y-%m-%d %H:%M:%S”) —> ‘2025-07-13 10:17:34'
Strptime(string, fmt)
Преобразует строку в структуру времени
Time.strptime(“2O25-O7-i3”, “%Y-%m-%d”)
Mktime(struct_ti me)
Преобразует структуру времени в секунды
Time.mktime(time.localtimeO)
MonotonicQ
Необратимый таймер - используется для замеров
Stall = time.monotonicO;...; time.monotonic() - start
PerfcoimterO
Высокоточный таймер - замер скорости кода
Start = time.perf_counter();...; time.perf_counter() - start
Process_time()
Время процессора, игнорирует sleep
Time.process_time()
Timezone
Смещение в секундах от UTC (для localtime)
Time.timezone
Tzname
Кортеж с названием часовых поясов
Time.tzname
Daylight
1, если используется переход на летнее время
Time.daylighttime()
Возвращает текущее время в секундах с эпохи
Time.timeO —* 1720894562.821
Sleep(seconds)
Приостанавливает выполнение на N секунд
Time.sleep(2)
Ctime(seconds)
Преобразует время в строку7
Time.ctime(i720894562) —► Tue Jul 13 10:16:02 2025’
Localtime(seconds)
Преобразует в локальное время в виде структуры
Time.localtimeO —> time.struct_time(...)
Gmtime(seconds)
Преобразует в ЦТС-структуру времени
Time.gmtime()
Strftime(fmt, struct_time)
Форматирует структуру времени в строку
Time.strftime(“%Y-%m-%d %H:%M:%S”) —> ‘2025-07-13 10:17:34’
Strptime(string, fmt)
Преобразует строку в структуру времени
Time.strptime(“2O25-O7-i3”, “%Y-%m-%d”)
Mktime(struct_time)
Преобразует структуру времени в секунды
Time.mktime(time.localtimeC))
MonotonicO
Необратимый таймер - используется для замеров
Start = time.monotonic();...; time.monotonic() - start
Perf_counter()
Высокоточный таймер - замер скорости кода
Start = time.perf_counter();...; time.perf_counter() - start
Process_time()
Время процессора, игнорирует sleep
Time.process_time()
Timezone
Смещение в секундах от UTC (для localtime)
Time.timezone
Tzname
Кортеж с названием часовых поясов
Time.tzname
Daylight
1, если используется переход на летнее время
Time.daylight
Datetime.now()
Текущее локальное время
Datetime.datetime.now() —> 2025-07-13 10:22:50
Datetime. today()
Текущая дата и время (аналог .now())
Datetime.datetime. today()
Datetime.utcnowO
Текущая дата и время в UTC
Datetime, datetime. utcnow()
Datetime.date(year, month, day)
Создаёт объект даты
Datetime.date(2025,7,13)
Datetime.time(hour, minute, second)
Создаёт объект времени
Datetime.time(io, 23, 45)
Datetime.datetime(year, month, day, hour, min, sec)
Создаёт объект полной даты и времени
Datetime.datetime(2O25, 7,13,10, 24, 50)
Datetime.timedelta(days=, seconds^, minutes=, hours=, weeks=)
Интервал времени (разница)
Delta = dateti me. timedelta (days=2)
Datetime.combine(date, time)
Объединяет дату и время
Datetime.combine(d, t)
Datetime.strptime(str, format)
Преобразует строк)7 в дату
Datetime.strptime(“i3.07.2025”, “%d.%m.%Y”)
Dateti me.strftime(format)
Преобразует дату в строку
Dt.strftime(“%Y-%m-%d %H:%M:%S”) —> ‘2025-07-13 10:25:11’
Datetime.replace(...)
Меняет отдельные элементы даты/времени
Dt.replace(hour=i8)
Dateti me. date .today ()
Текущая дата без времени
Datetime.date.todayO —> 2025-07-13
Dateti me.date.fromisoformat(“2O25-O7-i3”)
Создаёт дат)7 из строки
Datetime.date(2O25, 7,13)
Datetime.datetime.fromtimestamp(ceKj^bi)
Создаёт объект из времени Unix
Datetime.fromtimestamp(i72o894562)
Datetime.datetime.timestampO
Получает количество секунд с эпохи
Dt.timestampO
Datetime, weekday ()
Возвращает день недели: о - Пн, 6 - Вс
Dt.weekdayO —> 6
Datetime.isoweekdayO
Возвращает ISO день: 1 - Пн, 7 - Вс
Dt.isoweekdayO —> 7
Datetime.isoformatQ
Форматирует в стандарт ISO
Dt.isoformat() —> ‘2025-07-13110:27:05’
# math
Ceil(x) Округление вверх
Math.ceil(3.i) —> 4
Floor(x) Округление вниз
Math.floor(3-9) —> 3
Trunc(x) Отбрасывает дробную часть
Math.trunc(5.8) -+ 5
Fabs(x) Абсолютное значение (всегда положительное)
Math.fabs(-7.4) —»7.4
Sqrt(x) Квадратный корень
Math.sqrt(i6) —> 4.0
Pow(x, у) Возведение в степень (аналог х ** у)
Math.pow(2, 3) —► 8.0
Ехр(х) Вычисляет еЛх
Math.exp(i) —> 2.718
Log(x[, base]) Логарифм по основанию (по умолчанию натуральный)
Math.log(8, 2) —> 3.0
Logic (х) Десятичный логарифм
Math.logio(iooo) —> 3.0
Log2(x) Логарифм по основанию 2
Math.log2(8) —> 3.0
Factorial(x) Факториал числа
Math, factorials) —>120
Degrees(x) Преобразует радианы в градусы
Math.degrees(math.pi) —> 180.0
Radians(x) Преобразует градусы в радианы
Math.radians(i8o) —> 3.1415
Sin(x) Синус (в радианах)
Math.sin(math.pi/2) —> 1.0
Cos(x) Косинус
Math.cos(o) —> 1.0
Тап(х) Тангенс
Math.tan(math.pi/4) —> 1.0
Asin(x) Арксинус (в радианах)
Acos(x) Арккосинус
Atan(x) Арктангенс
Hypot(x, у) Вычисляет sqrt(x2 + у2) - длина гипотенузы
Math.hypot(3, 4) -► 5.0
Copysign(x, у) Копирует знак второго аргумента
Math.copysign(5, -1) -> -5.0
Fmodfx, у) Остаток от деления с плавающей точкой
Math.fmod(7, 3) —> 1.0
Isfinite(x) Проверка: число конечно
Isinf(x) Проверка: бесконечность
Isnan(x) Проверка: NaN
Pi Константа л « 3-14159
Math.pi
Е Константа е ® 2.71828
Math.e
# uuid - генерация уникальных идентификаторов
Uuid.uuidiQ
Создаёт UUID на основе времени и МАС-адреса
Uuid.uuidiQ
Uuid.uuid3(namespace, name)
Создаёт UUID на основе MD5~xeuia имени и пространства
Uuid.uuid3(uuid.NAMESPACE_DNS, “example.com")
Uuid.uuid4()
Создаёт случайный UUID (наиболее безопасный и популярный)
Uuid.uuid4()
Uuid .uuid5(namespace, name)
Создаёт UUID на основе SHA-1-хеша имени и пространства
Uuid.uuid5(uuid.NAMESPACE_URL, “example.com’ )
Uuid.getnode()
Возвращает МАС-адрес устройства как число
Uuid.getnodeQ
Uuid.UUIDQ..)
Создаёт UUID вручную из hex, bytes, int, fields
Uuid.UUID(“i2345678-i234-5678-i234-5678i2345678”)
# uuid - пространства имён
Uuid.NAMESPACE_DNS
Для доменных имён
Uuid .NAMESPACE_URL
Для URL
Uuid.NAMESPACE.OID
Для 01D
Uuid.NAMESPACE_X500
Для X.500 DN
# uuid - представления UUID
Uuid. hex
UUID как строка из 32 hex-символов
Uuid.uuid4Q.hex
Uuid.int
UUID как 128-битное целое число
Uuid.uuid4Q.i11t
Uuid.bytes
UUID как 16 байт
Uuid.uuid4() .bytes
Uuid.bytes_le
UUID как 16 байт в little-endian
Uuid.uuid4().bytes_le
Uuid.fields
Кортеж из 6 числовых полей UUID
Uuid.uuid4().fields
Uuid.time
6о-битный таймштамп
Uuid.uuidi().time
Uuid.clock_seq
14’битный номер последовательности
Uuid.uuidi().clock_seq
Uuid.node
МАС-адрес (48 бит)
Uuid.uuidiQ.node
Uuid.variant
Тип UUID (RFC_4122, MICROSOFT и др.)
Uuid .uuid4 () .variant
Uuid.version
Версия UUID (1, 3, 4, 5)
Uuid.uuid4().version
Uuid.urn
UUID в формате URN
Uuid.uuid4O.urn
Uu id.is_safe
Безопасность UUID (safe / unsafe / unknown)
Uuid.uuidi().is_safe
# json - работа с JSON-данными
Json.dumps(obj)
Преобразует Python-объект в JSON-строку
Json.dumps({“name”: ‘'Одиссей '})
Json.dump(obj, file)
Записывает Python-объект в файл в формате JSON
Json.dumpfdata, openC'data.json", “w”))
Json.loads(str)
Преобразует JSON-строку в Python-объект
Json.loads(‘{“name”: “Одиссей”}’)
Json.load(file)
Читает JSON-данные из файла и преобразует в Python-объект
Json.load(open(“data.json”))
# json - параметры форматирования
lndent=4
Добавляет отступы для читаемости
Json.dumps(obj, indent=4)
Separators=(7, 7)
Меняет разделители между’ элементами
Json.dumps(obj, separators=C,\ *:’))
Sort_keys=True
Сортирует ключи словаря по алфавиту'
Json.dumps(obj, sort_keys=True)
Ensure, ascii=False
Оставляет юникод-символы как есть
Json.dumps(obj, ensure_ascii=False)
Default=func
Функция для сериализации нестандартных объектов
Json.duinps(obj, default=my_converter)
# json - кастомизация при чтении
Obj ect_h ook=func
Функция для обработки объектов при загрузке
Json.loads(json_str, object_hook=custom_hook)
Object_pairs_hook=func
Функция для обработки пар ключ-значение
Json.loads(json_str, object_pairs_hook=custom_pairs)
Parse_float=func
Преобразование чисел с плавающей точкой
Json.loads(json_str, parse_float=decimal.Decimal)
Parse. int=func
Преобразование целых чисел
Json.loads(json_str, parse mt=int)
Pa rse_constant=fun c
Обработка NaN, Infinity, -Infinity7
Json.loads(json_str, parse_constant=handle_special)
# json - работа с классами
J SON Encoder
Класс для создания собственного сериализатора
Class MyEncoder(json.JSONEncoder):...
JSONDecoder
Класс для создания собственного десериализатора
Class Myl)ecoder(json.JSONDecoder): ...
# json - командная строка
Python -m json.tool
Форматирует и проверяет JSON-файл
Python -m json.tool input.json > output.json
Import os
Os.name # Имя ОС (‘posix’, ‘nt’, ’java’)
Os.getcwd() # Текущая рабочая директория
Os.chdir(path) # Сменить директорию
Os .listdir (path) # Список файлов и папок
Os.mkdir(path) # Создать папку
Os.makedirs(path) # Создать вложенные папки
Os.nndir(path) # Удалить пустую папку
Os.removedirs(path) # Удалить папку и родителей
Os.remove(path) # Удалить файл
Os.rename(src, dst) # Переименовать файл/папку
Os.replace(src, dst) # Переместить с заменой
Os.stat(path) # Информация о файле
Os.access(path, mode) # Проверка доступа (os.F_OK, os.R_OK, os.W_OK, os.X_OK)
Os.chmod(path, mode) # Изменить права доступа
Os.environ # Переменные окружения
Os.getenv(‘VAR') # Получить переменную
Os.putenv(‘VAR’, ‘val’) # Установить переменную
Os.system(cmd) # Выполнить системную команду
Os.getpid() # ID текущего процесса
Os.getlogin() # Имя пользователя
Os.uname() # Инфо об ОС (Unix)
Os.walk(path) # Рекурсивный обход каталогов
Os.scandir (path) # Быстрый итератор по каталогу7
Os.link(src, dst) # Жёсткая ссылка
Os.syTnlink(src, dst) # Символическая ссылка
Os.readlink(path) # Путь, на который указывает ссылка
Os.truncate(path, len) # Обрезать файл
Os.utime(path, times) # Изменить время доступа/модификации
Os.syncQ # Сбросить буферы на диск
Os.urandom(n) # п случайных байт
Sys.argv # Аргу менты командной строки (список)
Sys.exit([code]) # Завершить программу с кодом выхода
Sys.version # Строка с версией Python
Sys.version_info # Кортеж с деталями версии
Sys.platform # Название платформы Cwin32’, ‘linux’, ‘darwin’)
Sys.path # Пути поиска модулей
Sys.modules # Словарь загруженных модулей
Sys.maxsize # Максимальное значение Py_ssize_t
Sys .byteorder # Порядок байтов (‘little’ или ‘big’)
Sys.stdin # Стандартный ввод
Sys.stdout # Стандартный вывод
Sys.stderr # Стандартный поток ошибок
Sys.getrefcount(obj) # Кол-во ссылок на объект
Sys.getsizeof(obj) # Размер объекта в байтах
Sys.getdefaultencodingO # Кодировка по умолчанию
Sys.getfilesystemencodingO # Кодировка файловой системы
Sys.executable # Путь к интерпретатору Python
Sys.flags # Флаги запуска интерпретатора
Sys.setrecursionliniit(n) # Установить лимит рекурсии
Sys.getrecursionlimitQ # Получить текущий лимит рекурсии
Sys.settrace(func) # Установить функцию трассировки
Sys.setprofile(func) # Установить функцию профилирования
Sys.exc_info() # Инфо о текущем исключении
Sys.float_info # Информация о float (макс, мин, точность)
Sys.hash_info # Инфо о хешировании объектов
Sys.implementation # Инфо об интерпретаторе (Cpython, РуРу)
Sys._getframe() # Получить текущий стек-фрейм
Sys.builtin_module_names # Кортеж встроенных модулей
From cnptography.fernet import Fernet
Fernet.generate_key() # Генерация нового ключа (байты)
Fernet(key) # Создание объекта шифра с ключом
f.encrypt(data) # Шифрование данных (bytes —*token)
f.decrypt(token) # Расшифровка токена (token —> bytes)
# Пример:
Key = Fernet.generate_key()
F = Fernet (key)
Token = f.encrypt(b”ceKpeT")
f.decrypt( token)
# requests - простой HTTP-клиент
Requests.get(url) # GET-запрос
Requests. post(url, data) # POST-запрос
Requests.put(url, data) # PUT-зап рос
Requests.delete(url) # DELETE-запрос
Requests.head(url) # Заголовки
Requests, options(url) # Опции
Requests.get(url).text # Получить HTML как строку
Requests.get(url).json() # Получить JSON
# urllib - стандартная библиотека
Urllib.request.urlopen(url) # Открыть URL
Urllib.parse.urlparse(url) # Разобрать URL
Urllib.parse.quote(string) # Кодировать строку в URL
Urllib.parse.unquote(string) # Декодировать строку из URL
# http.client - низкоуровневый HTTP
From http.client import HTTPConnection
Conn = HTTPConnection(host) # Создать соединение
Conn.request(“GET”, “/”) # Отправить запрос
Conn.getresponse() # Получить ответ
# aiohttp - асинхронные запросы
Import aiohttp
Session = aiohttp.ClientSessionf) # Создать сессию
Session.get(url) # Асинхронный GET
Session.post(url, data) # Асинхронный POST
# socket - прямое ТСР-соединение
Import socket
Sock = socket.socketQ # Создать сокет
Sock.connect((host, port)) # Подключиться к серверу
Sock.send(data) # Отправить данные
Sock.recv(bufsize) # Получить данные
# webbrowser - открыть сайт в браузере
Import webbrowser
Webbrowser.opcn(url) # Открыть URL в браузере
Webbrowser.get() # Получить контроллер браузера
# sqliteg - встроенная база данных
Import sqlite3
Conn = sqlite3.connect(path) # Подключение
Cursor = conn.cursorQ # Курсор
Cursor.execute(sql) # SQL-запрос
Conn.commitQ # Сохранение
Conn.closeQ # Закрытие
# mysql.connector - MySQL
Import mysql.connector
Conn = mysql.connector.connectQ..)# Подключение
Cursor = conn.cursorQ # Курсор
Cursor.execute(sql) # SQL-запрос
Conn.commitQ # Сохранение
Conn.closeQ # Закрытие
# psycopg2 - PostgreSQL
Import psycopg2
Conn = psycopg2.connect(...) # Подключение
Cursor = conn.cursorQ # Курсор
Cursor.execute(sql) # SQL-запрос
Conn.commitQ # Сохранение
Conn.closeQ # Закрытие
# sqlalchemy - ORM
From sqlalchemy import create_engine, MetaData, Table, select
Engine = create_engine(url) # Движок
Conn = engine.connectQ # Подключение
Conn.execute(sql) # Выполнение запроса
Metadata = MetaDataQ # Метаданные
Table = Table(name, metadata,...) # Определение таблицы
Select([table]) # Запрос
# pymongo - MongoDB (NoSQL)
From pymongo import MongoClient
Client = MongoClient(url) # Подключение
Db.collection .findQ # Поиск
Db.collection.insert_one(dос) # Вставка
Db.collection.update_one(...) # Обновление
Db.collection.delete_one(...) # Удаление
# TensorFlow
Import tensorflow as tf
Tf.constantQ # Константа
Tf.VariableO # Переменная
Tf.keras.Sequential() # Последовательная модель
Tf.keras.Model О # Кастомная модель
Tf.keras.layers.DenseO # Полносвязный слой
Tf.keras.layers.Conv2D() # Сверточный слой
Tf.keras.layers.MaxPooling2D() # Пуллинг
Tf.keras.layers.Flattenf) # Векторизация
Tf.keras.layers.Dropout() # Отсечение нейронов
Tf.keras.optimizers.Adamf) # Оптимизатор
Tf.keras.losses.MSE() # Потери
Tf.keras.metrics.AccuracyO # Метрика
Model.compile() # Компиляция
Model.fit() # Обучение
Model.evaluated # Оценка
Model.predictf) # Предсказание
# PyTorcb
Import torch
Import torch.nn as nn
Import torch.optim as optim
Torch.tensorf) # Тензор
nn.Linear() # Полносвязный слой
nn.Conv2d() # Сверточный слой
nn.ReLUQ # Активация ReLU
nn.SoftmaxQ # Активация Softmax
nn.SequentialQ # Последовательная модель
nn.ModuleQ # Кастомная модель
optim.SGDQ # SGD оптимизатор
optim.AdamO # Adam оптимизатор
loss_fn = nn.CrossEntropyLossO # Потери
model.forward() # Прямой проход
model.backward() # Обратный проход
model.zero. gradf) # Сброс градиентов
model.stepO # Шаг оптимизации
# Keras
From keras.models import Sequential
From keras.layers import Dense, Dropout, Flatten, Conv2D, MaxPooling2D
SequentialQ # Последовательная модель
Densefunits, activation) # Полносвязный слой
Dropout(rate) # Отсечение нейронов
FlattenQ # Векторизация
Conv2D(filters, kernel_size) # Свертка
MaxPooling2D(pool_size) # Пуллинг
Model.compileO # Компиляция
Model.fit() # Обучение
Model.evaluated # Оценка
Model.predictO # Предсказание
# Scikit-learn
From sklearn.neural_network import MLPClassifier
MLPClassitier() # Персептрон
Model.fitfX, у) # Обучение
Model.predict(X) # Предсказание
Model.scorefX, у) # Оценка
# FastAI
From fastai.vision.all import *
Cnn_learner() # CNN-модель
Learn.fit_one_cycle() # Обучение
Learn.predict() # Предсказание
# IIuggingFace Transformers
From transformers import AutoModel, AutoTokenizer
AutoTokenizer.from—pretrained0 # Токенизация
AutoModel.from_pretrained() # Загрузка модели
Model(input_ids) # Прямот! проход
# pydub - простая обработка аудио
From pydub import AudioSegment
From pydub.playback import play
AudioSegment.from_file(path) # Загрузить аудиофайл
Audio.exportfpath, format) # Сохранить в нужном формате
Audio[:iooooJ # Обрезать (в миллисекундах)
Audio + audio2 # Склеить аудио
Audio.overlay(other) # Наложить одно на другое
Audio + 6 # Увеличить громкость
Audio - 6 # Уменьшить громкость
Audio.fade_in(ms) # Эффект появления
Audio.fade_out(ms) # Эффект затухания
Audi о. channels # Количество каналов
Audio.ffame_rate # Частота дискретизации
# librosa - анализ звука и музыки
Import librosa
Import librosa.display
Librosa.load(path) # Загрузить аудио
Librosa.fcature.mfccfy, sr) # MFCC-признаки
Librosa.feature.chroma_ stft(y, sr)# Хромограмма
Librosa. effects.trim (у) # Обрезать тишину
Librosa.beat.beat_track(y, sr) # Детекция бита
# soundfile - чтение и запись WAV/FLAC
Import soundfile as sf
Sf.read(path) # Прочитать аудио
Sf.writefpath, data, samplerate) # Сохранить аудио
# speech_recognition - распознавание речи
Import speech_rccognition as sr
R = sr. Recognizer ()
r.listen(source) # Слушать микрофон
r.recognize_google(audio) # Распознать речь
# pyaudio - потоковая запись/воспроизведение
Import pyaudio
P = pyaudio. PyAudioQ
Stream = p.openf...) # Открыть поток
Stream.read(n) # Прочитать аудио
Stream.write(data) # Воспроизвести
Stream.stop_stream() # Остановить поток
Stream.closef) # Закрыть поток
# simpleaudio - воспроизведение WAV
Import simpleaudio as sa
Wave = sa.WaveObject.from_wave_file(path)
Wave.playQ # Воспроизведение
# audioread - универсальное чтение аудио
Import audioread
With audjoread.audio_open(path) as f:
f.channels # Количество каналов
f.samplerate # Частота дискретизации
for buf in f: process(buf) # Обработка буфера
# madmom - извлечение музыкальных признаков
From madmom.features.beats import BeatTrackingProcessor
From madinom.audio.signal import Signal
Signal = Signal(path)
BeatTrackingProcessor()(signal) # Получить биты
# pyо - синтез и генерация звука
From руо import *
S = Server().boot()
Sine(freq=44O, mul=o.i).out() # Генерация сипус-сигнала
s.sl eep(5) # Задержка
s.st opO # Остановить синтез
# playsound - простое воспроизведение
From playsound import playsound
Playsound(path) # Воспроизвести файл
# scipy - работа c WAV
From scipy .io import wavfile
Wavfile.read(path) # Прочитать WAV
Wavfile.write(path, rate, data) # Сохранить WAV
Import psutil
#CPU
Psutil.cpu_times() # Время CPU: user, system, idle и др.
Psutil.cpu_percent(interval=i) # Загрузка CPU (%)
Psutil.cpu_count(logical=True) # Логических ядер
Psutil.cpu_coimt(]ogical=False) # Физических ядер
Psutil.cpu_stats() # Статистика CPU
Psutil.cpu_freq() # Частота CPU
Psutil.getloadavgO # Средняя загрузка (i, 5,15 мин)
# Память
Psutil.virtual_memory() # RAM: total, used, free, percent
Psutil.swap_memory() # SWAP: total, used, free, percent
# Диски
Psutil.disk_partitions() # Список разделов
Psutil.disk_usage(.path) # Использование диска
Psutil.disk_io_counters() # Статистика ввода-вывода
# Сеть
Psutil.net_io_counters0 # Сетевые байты и пакеты
Psutil.net_connections(kind=”tcp”) # TCP-соединения
Psutil. net_if_addrs() # IP и MAC адреса интерфейсов
Psutil.net_if_stats() # Статистика интерфейсов
# Датчики
Psutil.sensors_temperatures() # Температура оборудования
Psutil.sensors_fans() # Скорость вентиляторов
Psutil.sensors_battcry() # Заряд батареи
# Система
Psutil.users() # Активные пользователи
Psutil.boot_time() # Время загрузки системы
# Процессы
Psutil.pidsQ # Список PID
Psutil.Process(pid) # Объект процесса
p.nameQ # Имя процесса
р.ехе() # Путь к исполняемому файлу
p.status() # Статус
p.cpu„percent() # Загрузка CPU
p.memory_info() # Использование памяти
p.open_files() # Открытые файлы
p.terminate() # Завершить процесс
Import glob
Glob.glob(“*.txt”) # Bee .txt файлы в текущей директории
Glob.globCdata/*.csv”) # Все .csv файлы в папке data
Glob.glob(’‘**/*.py", recursive=True) # Все .ру файлы во всех подпапках
Glob.glob(“?.gif’) # Один символ перед .gif (например, a.gif)
Glob.glob(“[o-9].*’’) # Файлы, начинающиеся с цифры
Glob.glob(“*.gif', root_dir=”img”) # Все .gif файлы в папке img
Glob.glob(“**/”, recursive=True) # Все папки рекурсивно
Glob.iglob(“*.log”) # Итератор по .log файлам
Glob.escape("file[i].txt”) # Экранировать спецсимволы
Glob.translate(“*.md”) # Шаблон —► регулярное выражение
Прочие модули
# zipfile - работа с ZIP-архивами
Import zipfile
Zipfile.is_zipfile(path)
Zipfile.ZipFile(path) # Открыть архив
With zipfile.ZipFile(path, “r”) as z:
z.namelist() # Список файлов
z.extractall(dest) # Распаковать все
z.extractfname, dest) # Распаковать один
z.read(name) # Прочитать файл
with zipfile.ZipFile(path, “w”) as z:
z.write(filename) # Добавить файл
# tarfile - работа с TAR-архивами
Import tarfile
Tarfile. is_tarfile(path)
Tarfile.open(path) # Открыть архив
With tarfile.open(path, “r:*”) as t:
t.getnames() # Список файлов
t.extractall(dest) # Распаковать
with tarfile.open(path, “w”) as t:
t.add(filename) # Добавить файл
# platform - информация о системе
Import platform
Platform.systemO
Platform.release()
Platform.versionO
Platform.machineO
Platform.processorQ
Platform.platformO
Platform.python_version()
# subprocess - запуск команд
Import subprocess
Subprocess.run(cmd)
Subprocess.run(cmd, shell=True)
Subprocess, call(cmd)
Subprocess.getoutput(cmd)
Subprocess.Popen(cmd)
# logging - легирование
Import logging
Logging.basicConfig(level=logging.INFO)
Logging.dcbugC текст”)
Logging.infoO’TeKCT")
Logging.warningO‘TeKCT”)
Logging.errorC текст”)
Loggi ng. cr i ti cal (“текст ”)
# argparse - аргументы CLI
Import argparse
Parser = argparse. Argument Parser()
Parser.add_argument(“—key”)
Args = parser. parse_args О
Args.key
# configparser - INI-файлы
Import configparser
Config = configparser. ConfigParserQ
Config.read(“file.ini”)
Config[“section”][“key”]
Config.set(“section”, “key”, "value”)
With open(“file.ini”, “w”) as f:
Config.write(f)
# getpass - скрытый ввод
Import getpass
Getpass.getpassQ
# secrets - безопасная генерация
Im port secrets
Secrets.token_ hex(i6)
Secrets.randbelow(n)
Secrets.choice(seq)
# ssl - TLS/SSL контекст
Import ssl
Ssl.create_default_context()
Ssl.SSLContext(protocol)
# hashlib - хеширование
Import hashlib
IIashlib.md5(data).hexdigest()
Hashlib. sha2 5 6 (data). hexdigest ()
Hashlib.new("sha5i2”, data).hexdigest()
# hmac - I IMAC-подпись
Import hmac
Import hashlib
Hmac.newfkey, msg, hashlib.sha256).hexdigest()
# base64 - кодирование
Import base64
Base64.b64encode(data)
Base64.b64decode(data)
Base64.urlsafe_b64encode(data)
Base64.urlsafe_b64decode(data)
Base64.b32encode(data)
Base64.b32decode(data)
Base64.bi6encode(data)
Base64.bi6decode(data)
# pickle - сериализация объектов
Import pickle
Pickle.dump(obj, file)
Pickle.load(file)
# joblib - быстрая сериализация
Import joblib
Joblib. dump (obj, “file.pkl”)
Joblib.load(“file.pkl”)
# csv - работа с таблицами
Import csv
With open(“file.csv”, “r”) as f:
Reader = csv.reader(f)
For row in reader:...
With open(“file.csv”, “w”, newline=””) as f:
Writer = csv.writer(f)
Writer.writerow([...])
# openpyxl - Excel-файлы
Import openpyxl
Wb = openpyxl.load_workbook(“file.xlsx”)
Ws = wb.active
Ws[“Ai”]. value
Ws.cell(row=2, column=3).value
Wb.save(“new.xlsx”)
# pandas - обработка таблиц
Import pandas as pd
Pd.read—csv(“file.csv”)
Pd.read_excel(“file.xlsx”)
Pd. DataFrame(data)
Df.head(), df.describe()
Df.loc[o], df[“cohimn”]
Df.to_csv(“out.csv”)
Df.to_excel(“out.xlsx”)
# matplotlib - графика
Import matplotlib.pyplot as pit
Plt.plot(x, y)
Plt.bar(x, y)
Plt.scatter(x, y)
Plt.hist(data)
Р1ий1е(“3аголовок”)
Plt.xlabel(“ocb X”)
Plt.ylabel(“ocb Y”)
Plt.grid()
Plt.savefig(“plot.png”)
Plt.show()
# tkinter - GUI-интерфейс
Import tkinter as tk
Tk.Tk(), tk.Label(), tk.Button()
Tk.EntryO, tk.Text(), tk.Frame()
Widget.packQ, widget.grid()
Widget.bind(“<event>”, callback)
# PyQt - интерфейсы
From PyQt.s.Qt Widgets import *
Qapplication([J), (ДаЬеЦ'текст")
Qpush ВиИоп(“нажми”), QVBoxLayoutQ
QlineEdit(), QmainWindow(), QwidgetQ
Widget.show(), app.exec_()
# streamlit - web-интерфейс
Import streamlit as st
St.title(“3amnoBOK”)
St.text(“TeKCT”)
St.markdown(“**<I)opMaT**”)
St.button(“KHonKa”)
St.text_input(“ Ввод”)
8ТА1е_ир1оас1ег(“Файл”)
St.plotly_chart(obj)
St.dataframe(df)
# gradio - web для моделей
Import gradio as gr
Gr.lnterface(fn, inputs, outputs)
Gr.Textbox(), gr.ImageO, gr.Audio()
Gr.Slider(), gr.Checkbox()
Gr.Interface.launch()
# Интерфейсы в Python - tkinter, PyQt5, PySide6, pygame
# tkinter - стандартная библиотека
Import tkinter as tk
From tkinter import ttk, messagebox, filedialog, colorchooscr, simpledialog
Root = tk.Tk() # Создание окна
Root.title(“3anw)BOK”)
Root.geometry(“6oox4oo”) # Размер
Root.resizable( False, True) # Изменение размеров
Tk. Label (root, text=’’Текст") # Метка
Tk.Button(root, text=”KHonKa”, command=func) # Кнопка
Tk.Entry(root), tk.Text(root) # Ввод текста
Tk.Checkbutton(root, variable=var) # Флажок
Tk. Radiobutton (root, value, variable) # Радиокнопка
Tk.Listbox(root), tk.Scale(root) # Список, ползунок
Tk.Spinbox(root, from_, to) # Счётчик
Tk.Canvas(root) # Холст
Tk.Menu(root), tk.LabelFrame(root) # Меню, рамка
Ttk.Combobox(root, values=[“i”, “2’’]) # Выпадающий список
Ttk.Progressbar(root, mode=”determinate”) # Прогресс
Widget.pack(side=”top", fill=”x”, expand=True) # pack()
Widget.grid(row=o, column=0, sticky=”nsew”) # grid()
Widget.place(x=5O, y=ioo) # place()
Widget.bind(”<Button-i> ’, callback) # Событие
Messagebox.showinfo(“3aiwiOBOK”, “Сообщение”) # Диалог
Filedialog.askopenfilenameO
Colorchooser. askcolorQ, simpledialog.askstring( Текст”,“ Ввод”)
Canvas.create_line(xi, yi, x2, y2)
Canvas. create_rectangle(xi, yi, X2, y2)
Canvas.create_oval(xi, yi, X2, y2)
Canvas.create_text(x, y, text = ’Текст”)
Root.after( 1000, func) # Отложенное выполнение
Root.mainloopO # Запуск приложения
# PyQts - Qt5 интерфейсы
From PyQts.Qt Widgets import *
From PyQts.QtGui import *
From PyQt,5.QtCore import *
App = Qapplication([])
Window - QwidgetQ
Window.setWindowTitle(“OKHo”)
Window.resize(6oo, 400)
Qlabcl( “Метка”), QpushB utton(“Кнопка”)
QlineEditQ, QtextEditQ
QcheckBoxQ, QradioButtonQ
QcomboBox(), QspinBox(), QsliderQ
QlistWidgetQ, QtableWidget(3, 3)
QprogressBarQ, QgroupBox("BnoK”)
QmainWindowQ, QdialogO, QmessageBoxQ
QfileDialog.getOpenFileNameQ
Layout = QVBoxLayoutQ
Layout.addWidget(widget)
Window.setLayout(layout)
Window.showO
App.exeC—0
# PySide6 - Qt6 интерфейсы
From PySide6.QtWidgets import *
From PySide6.QtGui import *
From PySide6.QtCore import *
App = Qapplication([])
Window = QwidgetQ
Window.setWindowTitleC'OKHo”)
Window.resize(6oo, 400)
Qlabel(TeKCT'), QpushButton(“Кнопка”)
QlineEditQ, QtextEditQ
QcheckBoxQ, QradioButtonQ
QcomboBoxQ, QspinBoxQ, QsliderQ
QlistWidgetQ, QtableWidget(3, 3)
QprogressBarQ, QgroupBox(Tpynna”)
QmainWindowQ, QdialogO
QmessageBox.information(window, "Заголовок”, "Сообщение”)
QfileDialog.getOpenFileN ameQ
Layout - QVBoxLayoutQ
Layout.addWidget(widget)
Window.setLayout(layout)
Window.showO
Лрр.ехес()
# pygame - мультимедиа и игры
Import pygame
Pygame.init()
Screen = pygame.display.set_mode((8oo, 600))
Pygame.display.set_captionC'OKHo”)
Pygame.draw.rect(screen, (255, о, o), (x, y, w, h))
Pygame.draw.circle(screen, (o, 255, o), (x, y), r)
Pygame.draw.line(screen, (о, o, 255), (xi, yi), (x2, y2))
Pygame.draw.ellipse(screen, color, rect)
Pygame.draw.polygon (screen, color, f(xi, yi), (x2, y2) ])
Img = pygame.image.load(“image.png”)
Screen.blit(img, (x, y))
Pygame.image.save(screen, “out.png”)
Font = pygame.font.Font(None, 36)
Text = font.render(“IIpnBeT", True, (255, 255, 255))
Screen.blitftext, (100,100))
Snd = pygame.mixer.Sound("sound.wav”)
Snd.playO
pygame.mixer.music.load("music.mp3")
pygame.mixer.music.playO
for event in pygame.event.getQ:
if event.type == pygame.QUIT:
running = False
if event.type == pygame. KEYDOWN:
if event .key == pygame.K_ESCAPE:
running = False
keys = pygame.key.get__pressed()
mouse_pos = pygame.mouse.get_pos()
clock = pygame.time.ClockO
clock.tick(6o)
pyga me. disp lay .fli p()
pygame.quit()
# kivy - кроссплатформенные GUI и мультимедиа
From kivy.app import App
From kivy.uix.button import Button
From kivy.uix.label import Label
From kivy.uix.boxlayout import BoxLayout
From kivy.uix.textinput import Textinput
From kivy.uix.slider import Slider
From kivy.uix.checkbox import CheckBox
From kivy.uix.image import Image
From kivy.uix.screenmanager import Screen, ScreenManager
From kivy.clock import Clock
From kivy.graphics import Color, Rectangle, Line
Class Main(App):
Def build (self):
Layout - BoxLayout(orientation=’’vertical”)
Layout.add_widget(Label(text=”npnBeT"))
Layout.add-WidgettButtonCtext^HtDKMii”))
Layout.add_ widget(TextInput())
Layout.add_widget(Slider(min=o, max=ioo))
Layout.add_widget(CheckBox())
Layout. add_.widget(Image(source="img.png”))
Return layout
Main().run()
# dearpygui - современный GUI c OpenGL
From dearpygui.dearpygui import *
With window(label=”Главное окно’’):
Ad d_text(uripnBeT")
Add_input—text(label=”HMH”)
Add—slider_Аоа!(1аЬе1=”Слайдер”, min_value=o, max_value=10)
АййсЬескЬох(1аЬе1=”Флажок'’)
Add_button(label=”KnonKa”, callback=callback)
Start—dearpygu i()
# wxPython - нативные интерфейсы
Import wx
App = wx.App()
Win = wx.Frame(None, title=”OKHo”, size=(4OO, 300))
Panel = wx.Panel(win)
Label = wx.StaticText(panel, 1аЬе1=”Текст”, pos=(io,io))
Button = wx. Button (panel, label=’’Нажми”, pos=(io,4o))
Textbox = wx.TextCtrl (panel, pos=( 10,70))
Checkbox = wx.CheckBox(panel, 1аЬе1="Флажок”, pos=(io,ioo))
Slider = wx.Slider(panel, value=5O, minValue=o, maxValue=ioo, pos=(io,i3o))
Win.Show()
App.MainLoopO
# pywebview - интерфейс на HTML/JS
Import webview
Webviewr.create_window(’'Пpилoжeниe”,’’)
Web\iew\ start ()
# cefpython - встроенный Chromium
From cefpython3 import cefpython as cef
Cef.InitializeO
Window7_info = cef.WindowInfoO
Cef.CreateBrowserSync(url=)
Cef.MessageLoop()
Cef.ShutdownQ
одуль flask
Модуль flask
# Flask - веб-фреймворк на Python
From flask import Flask, request, render_tcmplate, redirect, url_for, jsonify, session, flash, send_file
App = Flask(___name____)
App.secret_key = “секретный_ключ”
# Маршруты
@app.route(“/”) # Главная страница
Def index():
Return “Привет, Flask!”
@app.route(“/user/<name>”) # Переменная в URL
Def user(name):
Return ГПривет, {name}”
@app.route("/form”, methods=[“GET”, “POST”]) # Обработка формы
Def form():
If request.method == “POST”:
Data = request.form[ "field”]
Return redirect(url_for(“result", value=data))
Return render_template(“form.html”)
@app.route("/result/<value>”)
Def result(value):
Return ГВы ввели: {value}"
# Шаблоны
Render_template(“template.html”, пате=”Имя”) # Передача переменных
# Внутри шаблона: {{ name }}, {% if %}, {% for %}, {% include %}
# Статические файлы
# Хранятся в нанке static/
# <]ink rel=’’stylesheet” href=”{{ url_forfstatic’, filename=’style.css’) }}”>
# JSON API
@app.route(“/api/data”)
Def api_data():
Return jsonify({“key”: "value”})
# Сессии
Session [“user”] = "Имя”
User = session.get(“user”)
Session.pop(“user”)
# Flash-сообщения
Flash (.“Успешно! ”)
Get_flashed_messagesO
# Загрузка и отправка файлов
File = request, flies [“file”]
File.save(“nyrb”)
Return send_file(“nyrb”, as_attachment=True)
# Перенаправление
Redirect(url_for( "index”))
# Обработка ошибок
@app.errorhandler(4O4)
Def not_found€:
Return “Страница не найдена”, 404
# Конфигурация
Арр. con fig [“DEBUG”] = True
App.config[“UPLOAD_FOLDER ”] = “/uploads”
# Запуск
If___name___== “___main____
App.run(debug=True, port=5ooo)
# Системные и процессные модули (кроме уже оформленных)
# subprocess - запуск внешних команд
Import subprocess
Subprocess.run(cmd) # Запустить команду
Subprocess.run(cmd, shell-True) # Через shell
Subprocess.call(cmd) # To же, но проще
Subprocess.check_output(cmd) # Получить вывод команды
Subprocess.getoutput(cmd) # Строка вывода
Subprocess.Popen(cmd) # Создание процесса
Process.terminateO # Завершить процесс
Process.waitQ # Дождаться завершения
Process.communicateO # Ввод/вывод с процессом
# multiprocessing - параллелизм через процессы
Import multiprocessing
Multiprocessing. Process(target=func)
Multiprocessing.QueueO, Pipe(), Lock()
Pool = multiprocessing.Pool(processes=4)
Pool.map(func, data)
Manager().list(), Manager().dict()
Cpu_count() # Кол-во ядер
# threading - работа с потоками
Import threading
Threading. Thread(target=fimc).start()
Threading.Lock(), Rlock(), Event()
Threading.current_thread(), enumerateQ
Threading.Timer(interval, func).start()
Threading.BarrierQ, ConditionQ, SemaphoreQ
# signal - обработка сигналов ОС
Import signal
Signal.signal (signal.SIG1NT, handler) # Обработка Ctrl+C
Signal.signal(signal.SIGTERM, handler)
Signal.pauseO, signal.alarm(seconds)
Signal.setitimer(signal.ITIMER_REAL, sec)
# atexit - обработка завершения программы
Import atexit
Atexit.register(func) # Вызов при выходе