Python на примерах
1.39K subscribers
411 photos
6 videos
145 links
Короткие уроки Python на примерах
Download Telegram
Отправка email с вложением через Python

import smtplib
from email.message import EmailMessage

def send_email(subject, body, to, attachment_path=None):
msg = EmailMessage()
msg['Subject'] = subject
msg['From'] = "your_email@example.com"
msg['To'] = to
msg.set_content(body)

if attachment_path:
with open(attachment_path, 'rb') as f:
file_data = f.read()
file_name = attachment_path.split('/')[-1]
msg.add_attachment(file_data, maintype='application', subtype='octet-stream', filename=file_name)

with smtplib.SMTP_SSL('smtp.example.com', 465) as smtp:
smtp.login("your_email@example.com", "your_password")
smtp.send_message(msg)

send_email("Привет!", "Это тестовое письмо.", "friend@example.com", "path/to/file.txt")


Отправляйте письма с вложениями напрямую из Python - удобно для автоматизации.
🤔5👍1
Создаём своего голосового ассистента на Python с помощью ИИ

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

Как это устроено:

1. Слушаем команду и переводим речь в текст.
2. Анализируем запрос через NLP-модель и формируем ответ.
3. Отвечаем голосом с помощью синтеза речи.
❤2
🤖 Автоматизация задач с pyautogui

Управляй мышью и клавиатурой, делай скриншоты и кликай по экрану и всё программно

import pyautogui

pyautogui.moveTo(100, 100, duration=0.5)
pyautogui.click()
pyautogui.write('Hello, Automation!', interval=0.1)

📦 Установка: pip install pyautogui
🚀 Отлично для автоматизации рутинных задач и тестирования GUI.
👍1
Использование Python для преобразования рукописного текста в печатный

Этот лайфхак поможет вам с помощью Python распознать и конвертировать рукописный текст в печатный формат — удобно для оцифровки заметок и работы с рукописными файлами.

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

1. Загрузка изображения — скрипт принимает картинку с рукописным текстом.
2. Обработка изображения — переводит в оттенки серого и улучшает контраст для точного распознавания.
3. Распознавание текста — с помощью Tesseract OCR извлекает текст из изображения.
🔥3👍1
Автоматизация создания мемов на Python

С помощью этого лайфхака вы быстро сделаете мемы из своих картинок и текста — легко добавляйте надписи, настраивайте стиль и сохраняйте результат.

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

1. Загрузка изображения — получаем картинку по URL.
2. Добавление текста — вписываем верхний и нижний текст для мема.
3. Рисование текста — накладываем текст с нужным шрифтом и оформлением.
4. Сохранение — сохраняем готовый мем в файл.
👍1
gc.get_stats() возвращает подробную статистику о работе сборщика мусора, включая число собранных объектов на разных этапах. Это отличный инструмент для мониторинга и оптимизации управления памятью в ваших Python-приложениях.
Скриншот веб-страницы одной строкой на Python

Быстро сохраните снимок страницы с помощью Python и selenium.

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

1. selenium — автоматизирует браузер.
2. webdriver-manager — управляет драйверами.
3. .get() — загружает страницу.
4. .save_screenshot() — сохраняет скриншот в файл.

Идеально и без лишних телодвижений
🚀 Запускаем Python-код без установленного интерпретатора

Теперь можно выполнить Python-скрипт даже без локального Python - всё через удалённый сервер

Как это работает?
🌐 Код отправляется на сервер с Python.
⚡️ Сервер выполняет и возвращает результат.
🖥 Результат выводится прямо в браузерной консоли.

Где это пригодится?
- Когда Python не установлен, но запуск нужен срочно
- Быстрый тест кода без установки окружения
- Веб-приложения с серверной логикой на Python

Либо также можно использовать веб-версии
https://python-online-compiler-orcin.vercel.app/ или https://pythononlinecompiler.ru/
❤2
🎨 Персонализированные картинки с помощью Python + DALL·E

Отправляешь текстовый запрос - получаешь уникальное изображение.
Под капотом - OpenAI API и магия генеративных моделей.
Картинка приходит по ссылке - удобно и быстро.

⚡️ Отличный способ оживить идеи за пару строк кода.

Ссылка на код
🎯 Быстрая проверка, установлен ли пакет

Проверка без импорта с нулевым риском ошибки:

import importlib.util
print(importlib.util.find_spec("numpy") is not None)
👍3
🚀 Ускоряем Python с NumPy

Обычные циклы в Python - узкое место для производительности, особенно при работе с большими массивами. NumPy решает это с помощью векторизации: операции применяются сразу ко всему массиву.

Пример: цикл тратит 0.3 сек, NumPy справляется за 0.005 сек. Секрет — расчёты на C-уровне через BLAS и LAPACK.

📌 Вывод: меньше циклов - больше скорости
👍1
🪟 sys.getwindowsversion(): версия Windows под контролем

Этот метод возвращает детали о версии Windows, на которой работает Python. Полезно, если нужно подстроить скрипт под особенности ОС - пути, шрифты, файловая система и прочее.

📌 Удобный способ сделать код гибким для разных версий Windows.
👍1
🧩 Объединяем списки в одну строку

Вместо циклов — используем + или itertools.chain().
list1 + list2 — просто складывает два списка.
chain(list1, list2, list3…) — удобно при большом количестве списков.

📌 Быстро, читаемо и без лишнего кода.
🧹 Удаляем все falsy-значения из списка

Вместо ручной фильтрации — используем filter(None, list1).
Удаляет None, 0, False, '', [] и другие falsy-элементы.

📌 Чистка данных в одну строку — быстро и элегантно.
🔍 Что такое JMESPath?

JMESPath — это язык запросов для JSON, позволяющий извлекать нужные данные из вложенных структур. Работает как с Python-словарями, так и с чистым JSON.

📦 Поддерживается в разных ЯП, легко интегрируется и полезен при работе с API и конфигами.
Работа с изображениями через Pillow 🖌️

Библиотека Pillow предоставляет мощные инструменты для обработки изображений.

🔍 Применение:
Редактирование изображений.
Создание миниатюр.
Добавление фильтров.

from PIL import Image

# Открываем изображение и создаем миниатюру
image = Image.open("example.jpg")
image.thumbnail((100, 100))
image.save("thumbnail.jpg")

print("Thumbnail создан.")


🔑 Результат выполнения:
Создается миниатюра изображения с размерами 100x100 пикселей.
Создание самоуничтожающегося Python-скрипта!

Этот код удаляет себя после выполнения, оставляя систему без следов!

Как это работает?
Скрипт выполняет свои задачи.
Определяет своё местоположение в файловой системе.
Удаляет себя после выполнения.

📌 Где пригодится:

Временная автоматизация

Тестовые скрипты

«Призрачные» утилиты без следов

⚠️ Используй с осторожностью — файл исчезает безвозвратно
❤2👍1
🤖 Телеграм-бот с AI на базе OpenAI

Простой пример бота, отвечающего на сообщения с помощью GPT-3.5:

import openai
from aiogram import Bot, Dispatcher, types
import asyncio

# Твои ключи
BOT_TOKEN = "твой_бот_токен"
OPENAI_API_KEY = "твой_openai_ключ"

openai.api_key = OPENAI_API_KEY
bot = Bot(token=BOT_TOKEN)
dp = Dispatcher(bot)

async def get_ai_response(message):
response = openai.ChatCompletion.create(
model="gpt-3.5-turbo",
messages=[{"role": "user", "content": message}]
)
return response["choices"][0]["message"]["content"]

@dp.message_handler()
async def handle_message(msg: types.Message):
reply = await get_ai_response(msg.text)
await msg.answer(reply)

async def main():
await dp.start_polling()

if __name__ == "__main__":
asyncio.run(main())


📌 Что дальше?

* Добавь команды и кнопки
* Подключи GPT-4
* Храни историю диалогов

Минимум кода — максимум возможностей!
👍2🤡1
🙃 Иногда на собеседовании хочется просто исчезнуть.

Чтобы не теряться и не нести ерунду — важно заранее подготовить «продающую» легенду о себе, выстроить стратегию и подготовиться к ключевым вопросам.

💡 Был найден один суперский материал, который позволит:
🔹 Прокачать резюме — с акцентом на результат, а не «просто работу работал»
🔹 Составить чёткий рассказ о себе — кто ты, чем полезен, куда растёшь
🔹 Получить стратегию поиска и переговоров — от безопытного джуна до мидла
🔹 Узнать, как уверенно отвечать на «почему вы хотите у нас работать?» — без мемов 😉

📎 Курс на Stepik: Подготовка к собеседованию в IT: Резюме, Легенда, Стратегия
👉 https://stepik.org/a/243649

Собеседование — не экзамен. Это сделка, на которой должен заработать ты! 🎯

🎁 А для ЭТОГО и ЛЮБЫХ ДРУГИХ курсов на Stepik есть промокоды:
STEPIKSHORTS24 или STEPIKZON10 — активируй при оплате, чтобы сэкономить.
🚀 *Функция для переворота строки*

def reverse_string(s):
return s[::-1]

print(reverse_string("Python")) # nohtyP


Срезы - лучший друг Python-разработчика. Просто и мощно
Обмен переменными между Jupiter-блокнотами

Эта команда позволяет вам хранить любую переменную и использовать ее в различных блокнотах Jupyter.
Чтобы извлечь переменную, вам нужно ввести ту же команду с параметром ‘-r’.