TGViewer
Channel Public Channel
Just Python

Just Python

@justpython_it

🐍Простое изучение Python.

Ссылка: @Portal_v_IT

Сотрудничество: @oleginc, @tatiana_inc

Канал на бирже: telega.in/c/justpython_it

РКН: clck.ru/3MnbSc
Subscribers
9.77K
Photos
4.8K
Videos
19
Links
4.7K

Showing posts older than #4550 · Back to latest

Older Posts 20 shown
Post #4549 576
Ограничение времени выполнения кода с signal

Когда нужно завершать долгие операции (например, при парсинге или работе с API), полезно уметь ставить таймаут на блок кода.

Итог:
Модуль signal позволяет элегантно ограничивать время выполнения операций. Особенно полезен при работе с нестабильными внешними источниками или написании защищённых CLI-утилит. Работает только в UNIX-системах.

#theory // Just Python
Post #4548 539
Используйте функцию enumerate для перебора элементов списка и их индексов

enumerate - это встроенная функция, которая принимает список и возвращает объект, который можно использовать в цикле for для перебора элементов списка и их соответствующих индексов.

#theory // Just Python
Post #4546 554
Модуль Faker поможет создавать реалистичные тестовые данные.

Независимо от того, нужны ли вам данные для тестирования, заполнения базы данных или демонстрации функционала, Faker делает процесс генерации данных простым и эффективным.

Faker предоставляет генераторы для различных типов данных, таких как имена, адреса, номера телефонов, электронные почты, даты, текст и многое другое. Это идеальное решение для тех, кто хочет ускорить процесс тестирования.

На примере выше мы написали функцию generate_fake_user, которая использует различные методы Faker, чтобы создать случайные данные для имени, электронной почты, номера телефона и адреса. Затем мы выводим полученные данные о пользователе.

Ставится командой ⚙️ pip3 install faker
Документация и примеры кода здесь

#theory // Just Python
Post #4545 536
Как элегантно объединять словари с приоритетом значений

Часто нужно объединить два словаря, где значения из второго имеют приоритет. Это можно сделать просто и читаемо.

Итог:
Синтаксис {dict1, dict2} объединяет словари, давая приоритет второму. Удобен для настройки конфигураций, параметров и всего, что связано с override'ами.

#theory // Just Python
Post #4544 535
Как замерить время выполнения кода элегантно

Иногда нужно узнать, сколько времени занял блок кода — для отладки, оптимизации или просто интереса. Вместо громоздких решений можно использовать контекстный менеджер.

Итог:
Контекстный менеджер timeit позволяет быстро замерять производительность без лишнего шума. Особенно полезен при профилировании отдельных участков кода.

#theory // Just Python
Post #4543 531
Как объединять цепочки условий красиво и читаемо

Иногда логика с множеством if становится громоздкой. В таких случаях удобно использовать словарь как аналог switch-case.

Итог:
Словарь заменяет кучу if-elif-else, делает код чище и облегчает добавление новых случаев. Особенно полезно, когда условия связаны с конкретными значениями (например, кодами, командами или ролями).

#theory // Just Python
Post #4541 490
Создание видео из изображений

В этот раз мы сделаем скрипт для создания видео. Он будет объединять набор изображений в видеоролик, добавлять фоновую музыку, а также позволит настроить скорость смены кадров. В результате получится готовое MP4-видео!

Ссылка на код

#theory // Just Python
Post #4540 521
Модуль dataclasses предназначен для упрощения создания классов данных.

Он предоставляет декоратор и набор инструментов, которые автоматически генерируют основные методы класса, такие как __init__(), __repr__(), __eq__(), и другие. Это упрощает создание классов, которые служат простым хранилищем данных, без необходимости вручную определять все методы

В примере выше мы используем декоратор @dataclass, чтобы автоматически сгенерировать методы класса Point. Мы определяем поля x, y и z, которые представляют координаты точки. После создания экземпляра класса Point с помощью аргументов конструктора, мы можем напрямую выводить информациюreprтод __repr__() автоматически сгенерирован. Это делает код более лаконичным и удобным для использования.

Подробнее здесь

#theory // Just Python
Post #4539 490
Как оптимизировать память используя генераторы вместо списков

Когда мы работаем с большими наборами данных, важно помнить об эффективном использовании памяти. Одной из полезных фишек Python для оптимизации памяти является использование генераторов вместо списков.

Пример кода

Допустим, у нас есть задача найти квадраты чисел от 1 до 1 000 000. Сначала посмотрим, как это сделать с помощью списка:

# Плохая практика: использование списка
squares = [x**2 for x in range(1, 1000001)]


Этот код создает список квадратов чисел, что требует значительного объема памяти. Вместо этого можно использовать генератор, который создаст объекты по мере их запроса, не занимая много памяти:

# Лучшая практика: использование генератора
squares = (x**2 for x in range(1, 1000001))


Теперь squares - это генератор, который генерирует квадраты чисел по мере необходимости, занимая минимальное количество памяти.

Почему это полезно

Использование генераторов вместо списков позволяет значительно экономить память, особенно при работе с большими наборами данных. Это делает ваш код более эффективным и позволяет работать с гораздо большими объемами данных без значительных затрат ресурсов.

#theory // Just Python
Post #4538 532
cleantext: нормализация и очистка текста

Отличный однострочный код для нормализации и очистки текста — идеально для проектов по обработке естественного языка.

Контент, созданный пользователями в Интернете и в социальных сетях, часто бывает грязным. Предварительно обработайте свои данные с помощью clean-text, чтобы создать нормализованное текстовое представление. Например, преобразуйте этот испорченный ввод:

A bunch of \\u2018new\\u2019 references, including [Moana](https://en.wikipedia.org/wiki/Moana_%282016_film%29).
»Yóù àré rïght <3!«


в этот чистый вывод:

A bunch of 'new' references, including [moana](<URL>).
"you are right <3!"

Ссылочка на доку

#theory // Just Python
Post #4536 537
ReadWriteMemory — это топовая библиотека, позволяющая легко читать/записывать в память любого процесса.

С её помощью можно, например, сделать читы для игры.
А если подрубить такие библиотеки, как imGui, то можно вывести и оверлей чита.
Либо сделать простой трейнер.

Ставится командой pip install ReadWriteMemory
Документация и примеры кода здесь.

#theory // Just Python
Post #4535 495
The Экономист ⚡️Дарим сразу три новеньких iPhone 16 за подписку! Для участия в розыгрыше нужно: 1. Быть подписанным на The Экономист, Доллар по тридцать и Чё по трендам? 2. Нажать «Участвую!» под этим постом Бот случайным образом выберет победителей 2 июня в 18:00. Айфоны…
⚡️Уже ЗАВТРА мы подведём итоги масштабного розыгрыша — троим из вас достанется новенький iPhone 16!

Самое время подписаться на @economica, @ruble30 и @trendswhat и нажать «Участвую!» под этим постом, если вы ещё этого не сделали. Результаты уже завтра в 18:00!
Post #4534 555
APScheduler — это инструмент для автоматизации задач в Python. Он позволяет планировать выполнение задач в определённое время или через интервалы.

Можно настроить задачи по расписанию, например, ежедневно или еженедельно. Это удобно для регулярных действий, таких как отправка уведомлений или обновление данных.

Ставится командой ⚙ pip install APScheduler
Документация и примеры кода здесь.

#theory // Just Python
Post #4533 543
SQLAlchemy — это штука, которая сильно упрощает работу с базами данных в Python. Она позволяет писать код так, будто ты работаешь с обычными объектами, а не с таблицами. Но если нужно, всегда можно написать чистый SQL-запрос.

Например, вот как легко создать таблицу пользователей и добавить туда запись:
from sqlalchemy import create_engine, Column, Integer, String
from sqlalchemy.orm import declarative_base, sessionmaker

Base = declarative_base()

class User(Base):
tablename = 'users'
id = Column(Integer, primary_key=True)
name = Column(String)

engine = create_engine('sqlite:///example.db')
Base.metadata.create_all(engine)

Session = sessionmaker(bind=engine)
session = Session()

new_user = User(name="Али")
session.add(new_user)
session.commit()

Создали таблицу, добавили пользователя и сохранили изменения. SQLAlchemy делает работу с базами данных легче.

Ставится командой ⚙ pip install SQLAlchemy
Официальная документация и примеры кода здесь

#theory // Just Python
Post #4532 477
Получаем HTML код в Python с помощью библиотеки requests

Импортируем requests:
import requests


Добавляем get("Ссылка") чтобы requests знал, с чем вы работаете, к примеру укажем страницу Google
site = requests.get("https://google.com")


Получаем HTML разметку с помощью свойства text
html_code = site.text


Полный код
# Импортируем requests
import requests

# Добавляем get("Ссылка") чтобы requests знал, с чем мы работаем. Например, укажем страницу Google
site = requests.get("https://google.com")

# Получаем HTML разметку с помощью text
html_code = site.text

# Выводим HTML код
print(html_code)


Более подробную информацию про работу с библиотекой requests можете прочитать здесь

#theory // Just Python
Post #4530 485
Bottle — это мини-фреймворк для Python, позволяющий писать веб-приложения с высокой скоростью, и он представлен в виде одного файла bottle.py, так что для его работы достаточно только этого файла.

Мы все обожаем примеры, поэтому вот код для начала работы с Bottle:
from bottle import route, run, template

@route('/hello/<name>')
def index(name):
return template('<b>Hello {{name}}</b>!', name=name)

run(host='localhost', port=8080)

Здесь мы создали веб сервер по адресу localhost с портом 8080.
Вы можете изменить текст "Hello {{name}}" на любой другой текст.

Чтобы проверить его работу, просто перейдите по ссылке http://localhost:8080/hello/world. После этого вы увидите на экране "Hello World".

Повторюсь, Bottle распространяется в виде одного файла-модуля и не имеет никаких зависимостей, кроме стандартной библиотеки Python.

Ставится командой ⚙️ pip install bottle
Официальная документация только на английском
Русская документация

#theory // Just Python
Post #4529 517
Wikipedia - эта библиотека для работы с данными из Википедии на языке Python, разработанная создателями самой википедия.

В данном примере мы запрашиваем информацию о теме "Небо", и выводим результат в консоль.

С помощью метода .set_lang("язык") можно установить язык вывода. Например, "ru" для русского или "en" для английского.

Метод summary позволяет получать краткое описание темы с сайта Википедии.

Ставится командой ⚙️ pip install wikipedia
Документация и примеры кода здесь

#theory // Just Python
Post #4527 538
Скачиваем изображение с помощью ссылки в 🐍 Python

import requests

url = "<ссылка на ваше изображение>"
response = requests.get(url)

with open("image.jpg", "wb") as file:
file.write(response.content)

print("Изображение успешно загружено.")

Скопируйте этот код и замените текст <ссылка на ваше изображение> на реальную ссылку, например — https://github.com/github_logo.jpg

Таким же образом можно скачивать любые мелкие файлы.
Текстовые, архивы, иконки и тд.

Главное не забудьте поставить библиотеку requests командой ⚙️ pip install requests

#theory // Just Python
Post #4526 512
Boto3 - официальный SDK (Software Development Kit), для работы с 📦 Amazon Web Services (AWS) и для работы с их облачными сервисами на 🐍 Python.

Это мощный инструмент , который позволяет разработчикам создавать, управлять различные задачи в облаке, такие как работа с хранилищем файлов S3, виртуальными серверами EC2, базой данных DynamoDB и многими другими сервисами.

Разработана кнш самой компанией Amazon, библиотека также обеспечивает широкие возможности интеграции с AWS, что делает её популярным инструментом среди программистов, работающих с облаками.

Ставится командой ⚙️ pip install boto3
Официальная документация и примеры кода здесь

#theory // Just Python
Post #4525 493
Как легко сконвертировать изображение в любой нужный формат (например JPG -> PNG)?

Для этого в модуле Pillow есть методы save() и convert(), которые позволяют сохранить ваше фото в новом формате или просто переименовать его, например, image.jpg в img.png

Важно понимать, что в таком случае меняется не просто расширение файла, но и сами метаданные внутри файла!

Для того чтобы сделать это в Python, нужно сначала установить Pillow:
pip install pillow

Затем напишите следующий код:
from PIL import Image

img = Image.open("имя_файла.jpg")

img.save("имя_файла.png")

Замените "имя_файла.jpg" на ваше имя файла или путь к нему, и после запуска этого кода ваше фото будет сохранено в формате PNG.

В случае обратной конвертации (например, из PNG в JPG) может потребоваться смена режима.
Для этого используем метод convert():
img = img.convert('RGB')


Ставится командой ⚙️ pip install pillow
Документация Pillow здесь
Подробнее про смену режима — convert()

#theory // Just Python
Older posts →
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →