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
加入频道
Графовые алгоритмы | Марк Нидхем, Эми Ходлер

Теория графов — особенно актуальная тема для тех, кто освоился с классическими базами данных и осваивает Apache Spark / Tensorflow / Cassandra.

Свежепереведенная в 2020 году книга под издательством o'Reilly освещает:
— виды графов
— графовые алгоритмы OLTP, OLAP
— алгоритмы поиска по графу
— поиск кратчайшего пути
— алгоритм выделения сообществ
— применение графов в Машинном обучении и проч.

По просьбе подписчика @xcontrast.

Книга на сайте O'Reilly

#продвинуто
26 полезных приёмов и хитростей Python

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

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

#советы #python #ru
Предложка в Zen of Python

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

Это обсуждение отправится в закреп, так что вы всегда можете попросить разбор / обсуждение / что угодно релевантное здесь.

#предложка

@zen_of_python
Что является оператором?
Anonymous Quiz
3%
def
15%
return
34%
if / else
48%
Все вышеперечисленное
Самая красивая и лаконичная шпаргалка bash

В твиттерской опубликовали ладно скроенную инфографику от sysexplore.com, которая поможет не только ознакомиться с базовой терминологией скриптинга, но и с вычиткой параметров из файла, хэндлинг сигналов (SIGTERM) и проч.

@zen_of_python
ну вот и дошутились, сеньоры, берегитесь

Питонисты, тут у вас конкурент растет (буквально). На 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

"Познав команды, познаешь саму систему. Настоящий юзер не запоминает всё — он просто знает, где найти."
— Лин Уксоид