Python на примерах
1.39K subscribers
411 photos
6 videos
145 links
Короткие уроки Python на примерах
Download Telegram
📦 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 с условием.

data = [1, 2, None, 4, None, 5]
clean = [x for x in data if x is not None]


🧼 Итог:
List comprehension — лаконичный способ чистить и преобразовывать данные.
❤1👎1
Как узнать размер папки на Python?

Нужно пройтись по всем вложенным файлам и просуммировать их размер. Это и будет общий вес каталога.

используйте os.walk() или os.path.getsize() для обхода и подсчёта.
🕒 Измеряем время выполнения кода

Хочешь узнать, сколько выполняется блок кода? Используй 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() — безопасная проверка типа без сюрпризов.
str.expandtabs() заменяет \t в строке на пробелы. Можно указать, сколько пробелов должен вставлять один таб.
🧵 Запускаем параллельный код с 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
Функция memoryview(): эффективная работа с байтовыми данными

memoryview() в Python позволяет получить доступ к внутреннему буферу данных объектов (например, байтов или массивов) без их копирования. Это делает работу с большими объёмами информации значительно быстрее и экономичнее по памяти.

С помощью memoryview() можно выполнять операции на уровне байтов, изменять части данных "на месте", а также передавать большие объекты между функциями или модулями без накладных расходов на создание копий.

Можно сказать, что memoryview() — это своего рода «окно» в данные: вы видите и работаете с содержимым напрямую, не создавая лишнего. Особенно ценится при разработке высокопроизводительных приложений и обработке бинарных потоков.
transformers от Hugging Face — одна из самых популярных и мощных библиотек в мире искусственного интеллекта. Она предоставляет доступ к передовым моделям машинного обучения, таким как BERT, GPT, T5 и многим другим, которые лежат в основе современных систем обработки естественного языка.

Вот простой пример использования библиотеки transformers для генерации текста с помощью модели GPT-2:

from transformers import pipeline

# Создаем пайплайн для генерации текста на основе модели GPT-2
generator = pipeline('text-generation', model='gpt2')

# Задаем начальный текст для генерации
prompt = "В мире искусственного интеллекта"

# Генерируем продолжение текста
results = generator(prompt, max_length=50, num_return_sequences=1)

# Выводим результат
print(results[0]['generated_text'])


В этом примере:

* Мы создаём объект generator, который автоматически загружает модель GPT-2 и нужные компоненты.
* Передаём начальный текст, с которого хотим продолжить.
* Запрашиваем генерацию текста длиной до 50 токенов.
* Получаем и выводим сгенерированное продолжение.

Этот код легко запускается и демонстрирует, как просто можно работать с мощными языковыми моделями, используя библиотеку transformers.
👍1
🔄 Метод swapcase() в Python переворачивает регистр у всех букв строки: заглавные становятся строчными, строчные — заглавными.

Пример: 'Hello, World!'.swapcase() → 'hELLO, wORLD!'

⚡️ Быстрый способ «переодеть» текст!
👍1
🛡 Валидация ввода — обязательный этап при работе с пользовательскими данными. Особенно в веб-приложениях: фильтрация опасных символов защищает от SQL-инъекций и XSS-атак.

✅ Безопасность начинается с чистого ввода.
🗣 SpeechRecognition — Python-библиотека для распознавания речи, поддерживает API от Google, Microsoft, IBM и др.

💡 Можно использовать как онлайн, так и офлайн. Удобный инструмент для голосового управления и автоматизации.
🎙 Управляй YouTube голосом с помощью Python!

Скажи "Пауза", "Следующее" или "Повтори" — и скрипт всё сделает за тебя.

Как работает:

1. SpeechRecognition распознаёт твои команды.
2. pywhatkit управляет YouTube.
3. pyttsx3 отвечает голосом.

🧠 Мини-ассистент на Python — и никакого пульта
🚫 Антипаттерн недели: изменение списка во время итерации

Изменяя список в цикле, можно словить баги: элементы пропускаются или возникает IndexError.

✅ Решение: итерируйся по copy() или создавай новый список.

🧠 Безопасный обход — спокойный код.
👎1
⚡️ mmap.mmap() — работа с файлами как с участками памяти.

Позволяет читать и записывать большие файлы без полной загрузки в ОЗУ — быстро и эффективно.

💡 Идеально для обработки гигабайтных данных!
❤1👍1
🚀 polars.DataFrame — мощная альтернатива pandas для больших данных.

Использует многопоточность и ленивые вычисления, ускоряя аналитику в разы.
Идеален, когда pandas начинает тормозить.

📚 Документация тут
👍1
🔧 array.tobytes() — конвертирует массив чисел в байтовую строку.

Удобно для работы с бинарными файлами, сокетами и передачей данных по сети.
💡 Быстро, компактно, по-питоновски
👍1
Скриншот страницы сайта в одну строку кода

Если вам нужно быстро сделать скриншот веб-страницы и сохранить его в виде изображения, вы можете использовать Python и библиотеку selenium.

Как это работает:
1. selenium: Используется для автоматизации браузера.
2. webdriver-manager: Упрощает установку и управление драйверами для браузера.
3. .get(): Загружает указанную веб-страницу.
4. .save_screenshot(): Делает скриншот текущего окна браузера и сохраняет его в виде файла.