Python на примерах
1.39K subscribers
411 photos
6 videos
145 links
Короткие уроки Python на примерах
Download Telegram
🎨 Персонализированные картинки с помощью 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’.
Рисование без рук — управляй курсором глазами!

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

Как это работает?
1. MediaPipe FaceMesh отслеживает положение глаз.
2. Пересчитывает координаты в масштаб экрана.
3. Перемещает курсор в точку, куда смотрите.

Что можно делать?
1. Рисовать в Paint глазами (просто добавьте pyautogui.click()).
2. Играть без рук (управлять мышкой во время игры).
3. Помочь людям с ограниченными возможностями (альтернатива трекпаду).
❤4
Пример кода с использованием glob

Модуль glob находит все пути, совпадающие с заданным шаблоном в соответствии с правилами, используемыми оболочкой Unix. Обрабатываются символы "*" (произвольное количество символов), "?" (один символ), и диапазоны символов с помощью []. Для использования тильды "~" и переменных окружения необходимо использовать os.path.expanduser() и os.path.expandvars().
Ускорение компиляции с помощью numba

Если определённая часть твоего кода всё ещё работает медленно, попробуй библиотеку numba, чтобы компилировать код. numba ускоряет выполнение в 10-20 раз, так как компилирует код в машинные инструкции.
Pandas: Удаление дубликатов

pandas.dropduplicates() — метод в библиотеке pandas, который используется для удаления дубликатов строк из DataFrame. С помощью duplicated ты можешь проверить, имеются ли дубликаты.
Как объединить строки без цикла?

Когда нужно склеить несколько строк из списка в одну, новички часто используют цикл for и оператор +. Но в Python есть более быстрый и лаконичный способ — метод .join().

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

Итог:
.join() — лучший способ объединения строк.
Работает быстро и читаемо.
Подходит для любых итерируемых объектов со строками.
👍2
Colorama — библиотека, позволяющая работать с цветом вывода в консоль.

С её помощью можно выводить цветной текст, выставлять цвет фона, и даже смешивать эти режимы.

Colorama также может менять текст на жирный и на тусклый. Всё это показано на скрине выше.

Работает на всех операционках.
В том числе адекватно отображается в классической командной строке Windows.
Использовать очень просто.

Ставится командой pip install colorama
Документация и примеры кода здесь
❤1👍1
Как удобно отформатировать строку с переменными?

Новички часто используют конкатенацию (+) для вставки переменных в строки. Это может быть неудобно и плохо читаемо. Вместо этого лучше использовать f-строки — современный и лаконичный способ форматирования строк в Python!

F-строки (или форматированные строки) позволяют вставлять переменные прямо внутрь строки с помощью фигурных скобок {}. Это и быстрее, и чище!

Итог:
-F-строки — самый читаемый и удобный способ форматирования.
-Позволяют вставлять выражения прямо в строку.
-Работают с любой версией Python 3.6+.
❤2