♾ Бесконечные списки в Python
Благодаря ленивым вычислениям можно создать "бесконечный" список, который не занимает много памяти. Например, с помощью генераторов или
⚙️ Это не настоящий список, но ведёт себя похоже — пока не остановишь, элементы будут продолжать поступать.
Благодаря ленивым вычислениям можно создать "бесконечный" список, который не занимает много памяти. Например, с помощью генераторов или
itertools.import itertools
for i in itertools.count():
print(i)
⚙️ Это не настоящий список, но ведёт себя похоже — пока не остановишь, элементы будут продолжать поступать.
Декораторы в Python: элегантный способ расширить поведение функций без изменения их кода.
Они позволяют оборачивать одну функцию в другую, добавляя дополнительную логику. Например,
⚡️ Удобно для логирования, проверки прав, кэширования и не только.
Они позволяют оборачивать одну функцию в другую, добавляя дополнительную логику. Например,
@staticmethod делает метод частью класса, но без доступа к self или cls.⚡️ Удобно для логирования, проверки прав, кэширования и не только.
Распаковка переменных: красиво и быстро
Python умеет распаковывать всё:
Это удобно, читаемо и просто 🔥
⚙️ Подходит для функций, циклов, и работы с коллекциями.
Python умеет распаковывать всё:
a, b, c = [1, 2, 3]
x, *rest = range(5)
Это удобно, читаемо и просто 🔥
⚙️ Подходит для функций, циклов, и работы с коллекциями.
Голос → Напоминание: автоматизация с Python
С помощью Python можно превратить голосовые команды в текстовые напоминания и отправлять их себе на email. Используем
📌 Пример:
🎙 Отличный способ превратить идеи в напоминания — прямо с голоса
С помощью Python можно превратить голосовые команды в текстовые напоминания и отправлять их себе на email. Используем
speech_recognition для распознавания речи и smtplib для отправки писем.📌 Пример:
import speech_recognition as sr
import smtplib
recognizer = sr.Recognizer()
with sr.Microphone() as source:
print("Говорите...")
audio = recognizer.listen(source)
text = recognizer.recognize_google(audio, language="ru-RU")
server = smtplib.SMTP("smtp.gmail.com", 587)
server.starttls()
server.login("your_email@example.com", "your_password")
server.sendmail("your_email@example.com", "your_email@example.com", text)
server.quit()
🎙 Отличный способ превратить идеи в напоминания — прямо с голоса
❤1
PyWin32: доступ к системной информации Windows
С помощью библиотеки
📌 Пример:
🎯 Полезно при разработке desktop-приложений или системных утилит под Windows.
С помощью библиотеки
pywin32 можно легко взаимодействовать с API Windows. Например, чтобы узнать разрешение экрана, используем GetSystemMetrics() из модуля win32api.📌 Пример:
import win32api
import win32con
width = win32api.GetSystemMetrics(win32con.SM_CXSCREEN)
height = win32api.GetSystemMetrics(win32con.SM_CYSCREEN)
print(f"Разрешение экрана: {width}x{height}")
🎯 Полезно при разработке desktop-приложений или системных утилит под Windows.
Быстрое копирование текста в буфер обмена с помощью Python
С помощью библиотеки
📌 Пример:
📋 Удобно для автозаполнения форм, быстрой вставки данных и CLI-инструментов.
С помощью библиотеки
pyperclip можно копировать и вставлять текст в буфер обмена прямо из Python — полезно для автоматизации и скриптов.📌 Пример:
import pyperclip
pyperclip.copy("Привет из Python!")
text = pyperclip.paste()
print(text)
📋 Удобно для автозаполнения форм, быстрой вставки данных и CLI-инструментов.
Получение погоды через API и Python
Используйте Python и OpenWeatherMap API, чтобы в реальном времени получать прогноз погоды.
📌 Пример (часть):
🌤 Удобно для ботов, приложений и умных виджетов.
Используйте Python и OpenWeatherMap API, чтобы в реальном времени получать прогноз погоды.
📌 Пример (часть):
import requests
api_key = "your_api_key"
city = "Moscow"
url = f"http://api.openweathermap.org/data/2.5/weather?q={city}&appid={api_key}&units=metric"
response = requests.get(url).json()
print(f"{city}: {response['main']['temp']}°C")
🌤 Удобно для ботов, приложений и умных виджетов.
❤4
Пришлось на работе разобраться с интересными GitHub-проектами на Python в сфере AI, делюсь с вами, что тестировал. AutoGPT - для автономных задач, GPT‑Neo - для локальной генерации текста, а ComfyUI - для управления визуальными AI‑проектами через графические потоки.
🤖 AutoGPT — автономный AI‑агент
Проект AutoGPT способен сам ставить задачи, разбивать их на под‑задачи и выполнять их без вашего постоянного участия.
Устанавливаете, даёте цель — например, «сгенерировать отчёт о трендах рынка» — и AutoGPT будет планировать, искать информацию и создавать результат.
💡 Идеально для автоматизации рутинных задач с минимальным вмешательством.
📚 GPT‑Neo — локальный генератор текста
Open‑source модель наподобие GPT‑3 от EleutherAI, работающая в Python. Поддерживает генерацию — например, вы можете создать выпуск новостей:
Более 4 800⭐️ на GitHub.
🎨 ComfyUI — визуальный редактор для генерации изображений
Node‑based интерфейс на Python для работы с моделями вроде Stable Diffusion. Сборка «блоков» превращает текст в картинку: ввод → стиль → фильтры — и вы получаете изображение .
Идеально для тех, кто хочет гибко экспериментировать с генеративным AI без сложных скриптов.
Как протестить?
* AutoGPT:
* GPT‑Neo: просто используйте код выше, установив через
* ComfyUI:
🤖 AutoGPT — автономный AI‑агент
Проект AutoGPT способен сам ставить задачи, разбивать их на под‑задачи и выполнять их без вашего постоянного участия.
Устанавливаете, даёте цель — например, «сгенерировать отчёт о трендах рынка» — и AutoGPT будет планировать, искать информацию и создавать результат.
💡 Идеально для автоматизации рутинных задач с минимальным вмешательством.
📚 GPT‑Neo — локальный генератор текста
Open‑source модель наподобие GPT‑3 от EleutherAI, работающая в Python. Поддерживает генерацию — например, вы можете создать выпуск новостей:
from transformers import GPTNeoForCausalLM, GPT2Tokenizer
model = GPTNeoForCausalLM.from_pretrained("EleutherAI/gpt-neo-1.3B")
tok = GPT2Tokenizer.from_pretrained("EleutherAI/gpt-neo-1.3B")
prompt = "Аналитика рынка криптовалют на сегодня:"
ids = tok(prompt, return_tensors="pt").input_ids
out = model.generate(ids, do_sample=True, max_length=200)
print(tok.decode(out[0]))
Более 4 800⭐️ на GitHub.
🎨 ComfyUI — визуальный редактор для генерации изображений
Node‑based интерфейс на Python для работы с моделями вроде Stable Diffusion. Сборка «блоков» превращает текст в картинку: ввод → стиль → фильтры — и вы получаете изображение .
Идеально для тех, кто хочет гибко экспериментировать с генеративным AI без сложных скриптов.
Как протестить?
* AutoGPT:
git clone https://github.com/Significant-Gravitas/AutoGPT.git
cd AutoGPT
pip install -r requirements.txt
export OPENAI_API_KEY=…
python -m autogpt --help
* GPT‑Neo: просто используйте код выше, установив через
pip install transformers torch.* ComfyUI:
git clone https://github.com/comfyanonymous/ComfyUI.git
cd ComfyUI
pip install -r requirements.txt
python main.py
Чтобы избавиться от значений вроде False, None, 0 или '' — воспользуйтесь filter(None, lst). Только "истинные" элементы останутся. Кстати, bool() поможет проверить, что Python считает за True и False.
Проверить вручную какое-либо значение на True/False можно с помощью функции bool(): bool(0) вернёт False, но bool('0') уже будет True, так как это непустая строка.
Проверить вручную какое-либо значение на True/False можно с помощью функции bool(): bool(0) вернёт False, но bool('0') уже будет True, так как это непустая строка.
🎯 any() — нашёл и хватит
Функция
Полезно, когда нужно быстро проверить, есть ли что-то «живое» в списке.
Функция
any() возвращает True, как только встречает первый «истинный» элемент в коллекции.values = [0, None, '', 5]
if any(values):
print("Есть хотя бы одно значение!")
Полезно, когда нужно быстро проверить, есть ли что-то «живое» в списке.
⏳ timeit — измерим время!
Используйте, чтобы сравнивать подходы и ускорять код.
timeit позволяет точно замерить, сколько времени занимает выполнение куска кода. Отлично для микрооптимизаций.import timeit
print(timeit.timeit("sum(range(1000))", number=1000))
Используйте, чтобы сравнивать подходы и ускорять код.
🧠 ИИ на Python за 10 строк
Базовая модель классификации текста с помощью
📌 Что делает код:
Создаёт простую модель наивного байесовского классификатора, обученную на коротких фразах. Вы можете расширить датасет и сделать свой мини‑анализатор настроения.
Базовая модель классификации текста с помощью
scikit-learn — всё просто и понятно.from sklearn.feature_extraction.text import CountVectorizer
from sklearn.naive_bayes import MultinomialNB
texts = ["я люблю Python", "ненавижу баги", "Python — это круто"]
labels = [1, 0, 1] # 1 — положительно, 0 — отрицательно
vec = CountVectorizer()
X = vec.fit_transform(texts)
model = MultinomialNB()
model.fit(X, labels)
print(model.predict(vec.transform(["обожаю Python"]))) # [1]
📌 Что делает код:
Создаёт простую модель наивного байесовского классификатора, обученную на коротких фразах. Вы можете расширить датасет и сделать свой мини‑анализатор настроения.
🔥1
[rich.print()] — быстрый способ добавить цвета, стиль и структуру в консоль. Текст, таблицы, логи — всё выглядит на уровне. Отличный инструмент, чтобы терминал не был скучным.
Документация
Документация