Текст
                    СРРАВОЧНИК

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) # Вызов при выходе