NeuroCatalog | Каталог Нейросетей Нейросети | Midjourney | Промты | AI | Prompts | OpenAi | ChatGPT | Искусственный Интеллект
1.42K subscribers
235 photos
49 videos
6 files
117 links
Последние тренды в нейросетях и ИИ.
Download Telegram
Вредные советы python разработчику


l=[['a', 'b', 'c'], ['1', '2'], ['#']]
sum(l, [])


В Python можно выпрямить вложенные списки с помощью... функции sum(). Вот код (выполнять, пока никто не видит):

Дело в том, что sum() принимает первым аргументом итерируемый объект, а вторым — значение, с которого начинается операция. По умолчанию это 0, но если указать пустой список [], то sum() начнёт с него. Затем sum() последовательно применяет операцию сложения к элементам первого аргумента, начиная со значения второго аргумента. В случае списков это означает конкатенацию.

👉
Что такое контекстный менеджер в Python?

Контекстный менеджер в Python — это специальный тип объекта, который определяет методы enter() и exit() и используется с инструкцией with. Эти объекты часто применяются в операциях, которые требуют установки и освобождения ресурсов. 

Частый сценарий — это работа с файлом:


with open('file.txt', 'r') as file:
data = file.read()


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

Вот как можно написать простой контекстный менеджер самостоятельно:


import time

class Timer:
def __enter__(self):
self.start = time.time()

def __exit__(self, exc_type, exc_val, exc_tb):
self.end = time.time()
print(f'Время выполнения: {self.end - self.start:.2f} секунд')

with Timer():
# код, время выполнения которого нужно измерить
time.sleep(2)


👉
Обзор библиотеки RxPY

Сегодня поговорим о хорошей библиотеке для управления потоками данных в Python – RxPY — реализации Reactive Extensions для нашего любимого языка. В версии 4.0.4 эта библиотека получила ряд улучшений, и сегодня мы разберем её основной функционал.

Основы RxPY
RxPY — это библиотека, реализующая принципы функционального реактивного программирования в Python. Она позволяет создавать и управлять асинхронными потоками данных, объединяя их, фильтруя и трансформируя с помощью цепочек операторов. Основные компоненты RxPY:

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

https://habr.com/ru/companies/otus/articles/849810/

👉
Создание ботов на Python с использованием aiogram

Создание Telegram ботов на AIOGRAM 3.4
Фильтры и работа с сообщениями на AIOGRAM 3.4
Роутеры и структура Telegram бота на AIOGRAM 3.4
Клавиатура в Телеграм Ботах - Inline Reply и Builder на AIOGRAM 3.4
CallbackQuery на AIOGRAM 3.4
FSM Context - машина состояний на AIOGRAM 3.4
Middleware на AIOGRAM 3.4
Телеграм Бот на Python с нуля! | Telegram Bot на Aiogram для начинающих
База Данных и Выгрузка на Сервер Телеграм Бота на Python - Aiogram 3
PostgreSQL + Скрытие Токена в .env - Aiogram 3
ДЕПЛОЙ БОТА НА СЕРВЕР | AIOGRAM 3
To Do БОТ на Python для ТЕЛЕГРАМ | AIOGRAM EASY BOT #1

источник

👉
💡Шпаргалка: API OpenAI в Python

Небольшая шпаргалка поможет быстро начать работу с API OpenAI. В ней показано:
▪️как добавить API-ключ и посмотреть доступные модели,
▪️как генерировать текст с помощью GPT,
▪️как работать с эмбеддингами,
▪️как конвертировать речь в текст,
▪️как создавать изображения с помощью DALL-E.

👉
Когда вы пишете декоратор в Python, почти всегда стоит использовать .wraps.


def atomic(func):
.wraps(func)
def wrapper():
print('BEGIN')
func()
print('COMMIT')

return wrapper



Он обновляет обёртку wrapper, чтобы она выглядела как оригинальная функция func. Декоратор копирует атрибуты __name__, __module__ и __doc__ из функции func в её обёртку.

Это может быть полезно при генерации документации с помощью pydoc, написании тестов с doctest, или при использовании инструментов для интроспекции. Однако стоит помнить, что в трассировке стека всё ещё будет отображаться оригинальное имя функции, поскольку оно хранится в wrapper.__code__.co_name.

👉