PrettyTable — удобный модуль для создания таблиц и вывода их в терминал или текстовые файлы.
Возможности:
-Настройка ширины столбцов, выравнивание текста и границы таблицы.
-Сортировка данных и выбор столбцов/строк для вывода.
-Чтение данных из CSV, HTML или базы данных.
-Вывод в ASCII или HTML форматах.
Возможности:
-Настройка ширины столбцов, выравнивание текста и границы таблицы.
-Сортировка данных и выбор столбцов/строк для вывода.
-Чтение данных из CSV, HTML или базы данных.
-Вывод в ASCII или HTML форматах.
👍6
SQLAlchemy — как работать с базами данных без написания SQL запросов! 💾🔧
SQLAlchemy (https://pypi.org/project/SQLAlchemy/) — это мощный ORM (Object Relational Mapper) для Python, который позволяет взаимодействовать с базами данных, не пишя SQL запросы вручную.
Что делает SQLAlchemy уникальным?
* ORM: преобразует ваши классы Python в таблицы базы данных.
* Миграции: автоматически обновляет структуру базы данных в зависимости от изменений в модели.
* Сложные запросы: с помощью выражений SQLAlchemy можно легко составлять сложные SQL-запросы, не выходя за пределы Python-кода.
📚 Пример использования:
1. Создаем модель — класс, который будет отражать таблицу в базе данных.
2. Работаем с данными — создаем, читаем, обновляем и удаляем записи через объекты Python.
🔎 Почему стоит использовать SQLAlchemy?
* Не нужно писать SQL вручную.
* Легко работать с большими проектами.
* Отличная документация и активное сообщество.
Установка:
⚙️
SQLAlchemy (https://pypi.org/project/SQLAlchemy/) — это мощный ORM (Object Relational Mapper) для Python, который позволяет взаимодействовать с базами данных, не пишя SQL запросы вручную.
Что делает SQLAlchemy уникальным?
* ORM: преобразует ваши классы Python в таблицы базы данных.
* Миграции: автоматически обновляет структуру базы данных в зависимости от изменений в модели.
* Сложные запросы: с помощью выражений SQLAlchemy можно легко составлять сложные SQL-запросы, не выходя за пределы Python-кода.
📚 Пример использования:
1. Создаем модель — класс, который будет отражать таблицу в базе данных.
2. Работаем с данными — создаем, читаем, обновляем и удаляем записи через объекты Python.
from sqlalchemy import create_engine, Column, Integer, String
from sqlalchemy.ext.declarative import declarative_base
from sqlalchemy.orm import sessionmaker
# Настроим базу данных
Base = declarative_base()
engine = create_engine('sqlite:///example.db')
Session = sessionmaker(bind=engine)
session = Session()
# Модель для таблицы
class User(Base):
__tablename__ = 'users'
id = Column(Integer, primary_key=True)
name = Column(String)
age = Column(Integer)
# Создадим таблицу
Base.metadata.create_all(engine)
# Добавим нового пользователя
new_user = User(name='Alice', age=28)
session.add(new_user)
session.commit()
# Запросим данные
user = session.query(User).filter_by(name='Alice').first()
print(user.name, user.age)
🔎 Почему стоит использовать SQLAlchemy?
* Не нужно писать SQL вручную.
* Легко работать с большими проектами.
* Отличная документация и активное сообщество.
Установка:
⚙️
pip install SQLAlchemyPyPI
SQLAlchemy
Database Abstraction Library
👍3
PyAutoGUI — Автоматизация действий на экране! 🤖
PyAutoGUI (https://pypi.org/project/PyAutoGUI/) — библиотека для автоматизации работы с мышью и клавиатурой. Если нужно автоматизировать интерфейсные действия, такие как клик, набор текста или движение мыши, то PyAutoGUI — ваш лучший друг
🔥 Почему стоит использовать PyAutoGUI?
* Автоматизация: программное управление мышью и клавиатурой, что открывает возможности для автоматизации различных задач.
* Детекция: с помощью PyAutoGUI можно делать скриншоты и находить элементы на экране по изображению.
* Кросс-платформенность: работает на Windows, macOS и Linux.
Как работает?
1. Двигаем мышь: легко перемещаем курсор в нужную точку.
2. Кликаем: автоматически выполняем клики в нужном месте.
3. Вводим текст: программно набираем текст на клавиатуре.
Пример:
🔍 Полезно для:
* Автоматизации рутинных задач (например, заполняя формы).
* Тестирования UI (можно автоматически взаимодействовать с интерфейсами).
* Создания ботов для выполнения простых действий.
Установка:
⚙️
PyAutoGUI (https://pypi.org/project/PyAutoGUI/) — библиотека для автоматизации работы с мышью и клавиатурой. Если нужно автоматизировать интерфейсные действия, такие как клик, набор текста или движение мыши, то PyAutoGUI — ваш лучший друг
🔥 Почему стоит использовать PyAutoGUI?
* Автоматизация: программное управление мышью и клавиатурой, что открывает возможности для автоматизации различных задач.
* Детекция: с помощью PyAutoGUI можно делать скриншоты и находить элементы на экране по изображению.
* Кросс-платформенность: работает на Windows, macOS и Linux.
Как работает?
1. Двигаем мышь: легко перемещаем курсор в нужную точку.
2. Кликаем: автоматически выполняем клики в нужном месте.
3. Вводим текст: программно набираем текст на клавиатуре.
Пример:
import pyautogui
# Перемещение мыши
pyautogui.moveTo(100, 200)
# Клик
pyautogui.click()
# Набор текста
pyautogui.typewrite("Привет, мир!")
🔍 Полезно для:
* Автоматизации рутинных задач (например, заполняя формы).
* Тестирования UI (можно автоматически взаимодействовать с интерфейсами).
* Создания ботов для выполнения простых действий.
Установка:
⚙️
pip install pyautoguiPyPI
PyAutoGUI
PyAutoGUI lets Python control the mouse and keyboard, and other GUI automation tasks. For Windows, macOS, and Linux, on Python 3 and 2.
👍2
📂 Как получить список файлов в директории
Хочешь обработать все файлы в папке? Вместо ручного перечисления — автоматизируй!
Скомбинируй
⚙️ Итог:
Хочешь обработать все файлы в папке? Вместо ручного перечисления — автоматизируй!
Скомбинируй
os.listdir() и os.path.isfile(), чтобы получить только файлы, без папок и мусора.⚙️ Итог:
os.listdir() + os.path.isfile() — быстрый способ собрать все файлы в директории для анализа или загрузки.❤2👍2
ReadWriteMemory — это топовая библиотека, позволяющая легко читать/записывать в память любого процесса.
С её помощью можно, например, сделать читы для игры.
А если подрубить такие библиотеки, как imGui, то можно вывести и оверлей чита.
Либо сделать простой трейнер.
Ставится командой
Документация и примеры кода здесь.
С её помощью можно, например, сделать читы для игры.
А если подрубить такие библиотеки, как imGui, то можно вывести и оверлей чита.
Либо сделать простой трейнер.
Ставится командой
pip install ReadWriteMemoryДокументация и примеры кода здесь.
Быстро создаём SQLite-базу данных
Когда нужно протестировать идею или сделать лёгкое приложение, новички часто тратят время на настройку полноценной СУБД. Но в Python есть встроенная SQLite — это база данных, которая хранится в одном файле и не требует установки.
С помощью модуля sqlite3 можно создать базу, таблицу и вставить данные всего в несколько строк.
Когда нужно протестировать идею или сделать лёгкое приложение, новички часто тратят время на настройку полноценной СУБД. Но в Python есть встроенная SQLite — это база данных, которая хранится в одном файле и не требует установки.
С помощью модуля sqlite3 можно создать базу, таблицу и вставить данные всего в несколько строк.
👍2
🧩 partial — фиксируем аргументы у функции
Хочешь заранее задать часть аргументов функции? Используй
Она возвращает новую функцию, где некоторые параметры уже зафиксированы. Удобно для коллбеков, обработчиков и повторяющихся вызовов.
На примере(см. выше) функция partial используется для создания новой функции с фиксированными значениями аргументов. Она принимает функцию и задает некоторые аргументы заранее, которые станут постоянными для создаваемой функции.
Хочешь заранее задать часть аргументов функции? Используй
functools.partial.Она возвращает новую функцию, где некоторые параметры уже зафиксированы. Удобно для коллбеков, обработчиков и повторяющихся вызовов.
На примере(см. выше) функция partial используется для создания новой функции с фиксированными значениями аргументов. Она принимает функцию и задает некоторые аргументы заранее, которые станут постоянными для создаваемой функции.
👍2
📌 Добавляем типы в Python с аннотациями
Python — динамический, но никто не мешает сделать код понятнее с помощью аннотаций типов.
Они не меняют поведение программы, но помогают IDE и вам самим — меньше багов, больше ясности.
🔍 Итог:
Типизация в Python — это документация прямо в коде. Используйте подсказки типов, чтобы ловить ошибки ещё до запуска.
Python — динамический, но никто не мешает сделать код понятнее с помощью аннотаций типов.
Они не меняют поведение программы, но помогают IDE и вам самим — меньше багов, больше ясности.
🔍 Итог:
Типизация в Python — это документация прямо в коде. Используйте подсказки типов, чтобы ловить ошибки ещё до запуска.
👍2
📊 rich — красиво выводим в консоль
Обычный
Обычный
print() скучный? Библиотека rich превращает консоль в шоу: цветной текст, таблицы, прогресс-бары и даже Markdown.from rich import print
print("[bold green]Hello, [underline]Python[/] world![/]")
rich — отличный инструмент для визуализации логов, отладки и CLI-интерфейсов. Красиво и понятно.📦 python-dotenv — храним переменные окружения в .env
Устал вручную прописывать переменные окружения?
🔐 Итог:
Устал вручную прописывать переменные окружения?
python-dotenv загружает их из .env файла автоматически.from dotenv import load_dotenv
import os
load_dotenv()
api_key = os.getenv("API_KEY")
🔐 Итог:
python-dotenv — удобно и безопасно: храните секреты в .env, а не в коде.👍2
🧹 Удаляем лишнее из списка: list comprehensions + условие
Нужно быстро отфильтровать список? Вместо громоздких циклов используй list comprehension с условием.
🧼 Итог:
List comprehension — лаконичный способ чистить и преобразовывать данные.
Нужно быстро отфильтровать список? Вместо громоздких циклов используй list comprehension с условием.
data = [1, 2, None, 4, None, 5]
clean = [x for x in data if x is not None]
🧼 Итог:
List comprehension — лаконичный способ чистить и преобразовывать данные.
❤1👎1
🕒 Измеряем время выполнения кода
Хочешь узнать, сколько выполняется блок кода? Используй
⏱ Итог:
Хочешь узнать, сколько выполняется блок кода? Используй
time.time() — просто и наглядно.import time
start = time.time()
# ваш код
time.sleep(1)
end = time.time()
print(f"Время выполнения: {end - start:.2f} сек.")
⏱ Итог:
time.time() — быстрый способ измерить производительность без сторонних библиотек.👍3
string.rsplit() — разбивает строку справа налево по указанному разделителю и возвращает список. Можно задать, сколько именно раз выполнять разбиение (по умолчанию — без ограничения).
🧪 Проверка типов через isinstance()
Иногда важно убедиться, что переменная — нужного типа.
🔍 Итог:
Иногда важно убедиться, что переменная — нужного типа.
isinstance() делает это просто и читаемо.value = 42
if isinstance(value, int):
print("Это целое число!")
🔍 Итог:
isinstance() — безопасная проверка типа без сюрпризов.Программирование на Python
Функция isinstance() в Python - описание и примеры
Использование встроенной функции isinstance() в Python - описание, синтаксис, параметры и практические примеры.
🧵 Запускаем параллельный код с threading.Thread
Нужно выполнить задачу в фоне, не блокируя основной поток? Используй
⚙️ Итог:
Нужно выполнить задачу в фоне, не блокируя основной поток? Используй
threading.Thread.import threading
def worker():
print("Работаю в фоне!")
t = threading.Thread(target=worker)
t.start()
⚙️ Итог:
threading.Thread — простой способ запустить фоновую задачу без async/await.🔥2
Определение IP-адреса компьютера
Приведённый код использует библиотеку
Обёртка в виде блока
Приведённый код использует библиотеку
requests для отправки HTTP-запроса к сервису ipify — это API, позволяющее определить публичный IP-адрес пользователя. Код оформлен в виде функции get_public_ip, что упрощает его повторное использование в различных сценариях.Обёртка в виде блока
try-except позволяет корректно обрабатывать возможные ошибки, такие как отсутствие подключения к интернету. В случае успешного выполнения запроса функция возвращает IP-адрес. Если возникает ошибка, возвращается соответствующее сообщение.👍2
Метод intersection(): нахождение общих элементов
Метод
Это как пересечение интересов в компании друзей: только то, что нравится всем, попадает в общий список. Удобно и эффективно, особенно когда нужно быстро выделить общее из множества данных.
Метод
intersection() используется для получения нового множества, содержащего только те элементы, которые присутствуют во всех переданных множествах. Если в метод не передавать аргументов, он просто вернёт копию исходного множества.Это как пересечение интересов в компании друзей: только то, что нравится всем, попадает в общий список. Удобно и эффективно, особенно когда нужно быстро выделить общее из множества данных.
❤1👍1