Zen of Python
20.1K subscribers
1.17K photos
160 videos
32 files
3.1K links
Полный Дзен Пайтона в одном канале

Разместить рекламу: @tproger_sales_bot

Правила общения: https://tprg.ru/rules

Другие каналы: @tproger_channels

Сайт: https://tprg.ru/site

Регистрация в перечне РКН: https://tprg.ru/xZOL
加入频道
ну вот и дошутились, сеньоры, берегитесь

Питонисты, тут у вас конкурент растет (буквально). На YouTube нашли канал с уроками по Python, который ведет семилетний Сережа. Малой выкладывает видео уже чуть больше года. Если искали, как писать нейросетки, то вам, судя по всему, туда.

Ждем, когда Сережу захантят в какой-нибудь финтех.

@your_tech
Простыми словами о сложном: Перегрузка операторов в Python

В действительности термин означает всего лишь перехватывание встроенных операций с помощью классов. Вот краткий обзор ключевых идей в основе механизма перегрузки:
- Перегрузка позволяет классам участвовать в обычных операциях.
- Классы могут перегружать все операторы выражений.
- Классы могут также перегружать такие операции, как вывод, вызов функций, обращение к атрибутам и так далее.
- Перегрузка делает экземпляры классов более похожими на встроенные типы.
- Перегрузка заключается в реализации в классах методов со специальными именами.

Давайте рассмотрим пример.

class Vector2D:
def __init__(self, x, y):
self.x = x
self.y = y

def __add__(self, other):
return Vector2D(self.x + other.x, self.y + other.y)

def __repr__(self):
return f"Vector2D({self.x}, {self.y})"

# Пример использования
x = Vector2D(3, 4)
y = Vector2D(5, 6)

result = x + y
print(result) # Вывод: Vector2D(8, 10)


Класс Vector2D определяет 2D-вектор с координатами x и y. Метод __add__ перегружает оператор +, чтобы складывать координаты двух векторов. Метод __repr__ определяет, как объект будет представлен, чтобы было удобно его видеть при выводе. В итоге, мы теперь умеем складывать вектора, как на уроках школьной алгебры, простым знаком плюса.

Вот 10 самых частоиспользуемых "магических" методов, которые перегружают:

1. __init__: Вызывается при создании нового объекта, используется для инициализации атрибутов объекта.
2. __str__: Определяет строковое представление объекта, используется функцией str() и при выводе через print().
3. __repr__: Определяет, как будет выводится итоговый объект.
4. __add__: Перегружает оператор +, используется для определения поведения сложения объектов.
5. __sub__: Перегружает оператор -, используется для определения поведения вычитания объектов.
6. __mul__: Перегружает оператор *, используется для определения поведения умножения объектов.
7. __truediv__: Перегружает оператор /, используется для определения поведения деления объектов.
8. __getitem__: Перегружает оператор [], используется для доступа к элементам объекта, как в списках или словарях.
9. __setitem__: Перегружает оператор [], используется для задания значений элементам объекта.
10. __len__: Возвращает длину объекта, используется функцией len().

p.s. По опыту админа, перегрузка запоминается легче, если акцентировать внимание на операторах, запомнить хорошенько, что под ними имеется в виду. Вот полный список операторов, чтобы вы их отличали от других объектов языка.
Большая шпаргалка по Linux

"Познав команды, познаешь саму систему. Настоящий юзер не запоминает всё — он просто знает, где найти."
— Лин Уксоид
This media is not supported in your browser
VIEW IN TELEGRAM
PhySO | DL-регрессия для подбора функции

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

Цена: бесплатно
Репозиторий проекта

@zen_of_python
featuretools | Автоматизируем поиск фичей

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

Цена: бесплатно
Репозиторий проекта
Демо

А вы пользуетесь вспомогательными инструментами при генерации признаков? Поделитесь в комментариях.

#инструмент

@zen_of_python
This media is not supported in your browser
VIEW IN TELEGRAM
prefect.io | Airflow для ML

Адаптированный под Машинное обучение оркестатор, что облегчит вашему проекту MLOps. Обладает аналогичными фичами вроде Cron-based планирования и повторных попыток, однако предлагает безсерверную инфраструктуру и облачный UI.

Есть условно бесплатный тариф.

Prefect vs. Airflow
Репозиторий проекта с 17К+ звезд на GitHub
Case study: обмен данными между процессами

✍️ - что такое Airflow?
🗿 - мне хватает Airflow
Говорят, Senior Python Devs размножаются, откладывая яйца, но наличие сей способности не приближает Собчак к этой позиции.

#кек

@zen_of_python
dataherald | Из естественного языка в SQL-запрос

Целое API, которое позволит общаться с вашей базой данных в режиме диалога на базе ChatGPT, потому на русском языке тоже. Есть веб-интерфейс. Поднимается из контейнера Docker.

Пусть ваш дата-аналитик понервничает.

Цена: бесплатно (взимают только за токены)
Репозиторий проекта c 3,5K звезд

@zen_of_python
quickref.me.pdf
1.8 MB
Очень удобная шпаргалка про Python

Выверенное представление различных терминов языка на quickref.me. Здесь и про типы данных, и про модули, и про классы с наследованием.

#основы

@zen_of_python