20070
Полный Дзен Пайтона в одном канале Разместить рекламу: @tproger_sales_bot Правила общения: https://tprg.ru/rules Другие каналы: @tproger_channels Сайт: https://tprg.ru/site Регистрация в перечне РКН: https://tprg.ru/xZOL
Простыми словами о сложном: Перегрузка операторов в 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__ определяет, как объект будет представлен, чтобы было удобно его видеть при выводе. В итоге, мы теперь умеем складывать вектора, как на уроках школьной алгебры, простым знаком плюса.__init__: Вызывается при создании нового объекта, используется для инициализации атрибутов объекта.__str__: Определяет строковое представление объекта, используется функцией str() и при выводе через print().__repr__: Определяет, как будет выводится итоговый объект. __add__: Перегружает оператор +, используется для определения поведения сложения объектов.__sub__: Перегружает оператор -, используется для определения поведения вычитания объектов.__mul__: Перегружает оператор *, используется для определения поведения умножения объектов.__truediv__: Перегружает оператор /, используется для определения поведения деления объектов.__getitem__: Перегружает оператор [], используется для доступа к элементам объекта, как в списках или словарях.__setitem__: Перегружает оператор [], используется для задания значений элементам объекта.__len__: Возвращает длину объекта, используется функцией len().
Самая красивая и лаконичная шпаргалка bash
В твиттерской опубликовали ладно скроенную инфографику от sysexplore.com, которая поможет не только ознакомиться с базовой терминологией скриптинга, но и с вычиткой параметров из файла, хэндлинг сигналов (SIGTERM) и проч.
@zen_of_python
26 полезных приёмов и хитростей Python
Забираем статью, где рассказывается о полезных инструментах в Python, которые упрощают жизнь разработчикам, решая самые разные задачи — от визуализации данных до быстрого поиска ответов на вопросы.
Разбирают удобные библиотеки и функции, которые можно использовать каждый день, включая нестандартные способы работы с текстом, графикой, геолокацией и другими типичными задачами.
#советы #python #ru
«Баги, которые у тебя не получается отладить, похожи на проблемы с родителями из детства: оба способны привести тебя в дурку» — сказал Фрейд и сел печатать за неработающий компьютер 😂
Сделано с hailuoai.video.
@zen_of_python
Внезапный каеф при чтении огромного учебника постиг админа только на 5-й год в Python.
Читать полностью…
«Я знаю Python»: российский нейроимплант с ИИ позволил крысе ответить на сотни научных вопросов
Российская биотех-лаборатория Neiry и ученые МГУ разработали нейроимплант с искусственным интеллектом, который позволил крысе отвечать на сотни научных вопросов, включая темы по Python.
«Мы стремимся к тому, чтобы ИИ стал надежным симбиотическим помощником человека», — отметил CEO Neiry Александр Панов.
@neuro_channel
Подборка Python-related роадмапов
Уже ставший классическим желтый дизайн roadmap.sh выгодно выделяет этот ресурс среди остальных. Заработавший 297К+ звезд на GitHub репозиторий проекта предлагает, помимо прочих:
— Python
— PostgreSQL
— Docker
— Redis
Репозиторий проекта
@zen_of_python
Самые «успешные» хакеры-воровайки использовали Python
Преступная группировка Carbanak, состоящая из хакеров украинской, литовской и других национальностей использовали Cobalt Strike — фреймворк для этичного хакинга на JavaScript + Python. Подробнее о том, как они наворовали более 1 млрд. долларов, можно узнать в новом подкасте Tproger.
Слушать на Яндекс. Музыке
Смотреть на YouTube
Другие способы слушать подкаст
Не скупитесь на лайки на Яндекс. Музыке, этим вы поможете проекту.
@zen_of_python
Коллекция py-скриптов обо всем
Автор самобытного британского блога про айтишечку geekcomputers.co.uk опубликовал репозиторий с его личной коллекцией скриптов на Python. Полезно новичкам, потому что хорошо раскомментировано. Плюс заряд эндорфина гарантирован, ведь программы подъёмные и применимые — генератор паролей, пинг-понг, Flappy Bird и многое другое.
Но как это обеспечило ему 31К+ звезд на GitHub — все равно загадка.
Репозиторий проекта
@zen_of_python
Простыми словами: протоколы в Python
Python – это язык с динамической типизацией. Но что это значит на практике? Это означает, что тип переменной определяется в момент присвоения ей значения. Эта гибкость порождает риски появления ошибок, связанных с несовпадением типов переменных и параметров функций.
Например, рассмотрим простую функцию:
def add(a, b):
return a + b
def add(a: int, b: int) -> int:
return a + b
def send_data(sender, data):
sender.send(data)
from typing import Protocol, Mapping, Any
class SenderProtocol(Protocol):
def send(data: Mapping[str, Any]) -> None:
...
def send_data(sender: SenderProtocol, data):
sender.send(data)
pyproject.toml | Лучшие практики
Годный лонгрид про файл конфигурации, который приходит на смену requirements.txt и setup.py, начиная с Python 3.6+. Если вкратце, это решает «проблему курицы и яйца» (setup.py не может выполняться без знания своих зависимостей, но при этом он предназначен для определения этих зависимостей).
Отлично подойдет новичкам, которые хотят научиться указывать продакшн-зависимости и те, что нужны в рамках разработки (см. extras).
🗿 — использую requirements.txt
⚡ — использую pyproject.toml
🌭 — мне не актуально
@zen_of_python
В Matplotlib добавили темные темы
Прямиком из опенсорсной библиотеки научных цветов (да, и такие существуют) от Фабио Крамери создатели Matplotlib взяли темные темы managua, berlin и vanimo ради полноценности коллекции colormaps. Для тех, кто заинтересовался аргументацией такого выбора, есть статья Крамери, в которой он объясняет, почему именно такие «сдержанные» сочетания уместны.
Глядишь, доживем, канвасы Matplotlib станут красивыми.
Подробнее
#основы
@zen_of_python
Мы подвели итоги октября по самым лучшим статьям авторов, которые писали для Tproger
🥇 1 место — Прощай, Discord: где теперь общаться геймерам и не только
🥈 2 место — Что удобнее для разработчика: Mac Studio или кастомный ПК?
🥉 3 место — Безумное улучшение производительности в LINQ .NET 9
Поздравляем авторов!
В следующем месяце вы можете выиграть 🎁 мерч Tproger — для этого нужно написать самую популярную статью.
Обратитесь к боту, чтобы выбрать одну из тем или предложить свою. Далее напишите статью и отправьте её на модерацию. Победителей объявим в конце месяца.
p.s. Не скупитесь на реакции под этим постом, поддержите авторов — они заслужили.
@zen_of_python
Claude идет «в разведку»
На официальной твиттерской Anthropic запостили про новую фичу — EDA (Предварительный анализ данных). По приложенным данным прямо рядом с диалоговым окном и графики построят, и инсайты поищут (смотрите видео).
Получается, у julius.ai «сшерлочили» фичу?
🌭 — предпочитаю проводить EDA вручную
☃️ — есть у LLM хорошие попытки, но приходится допиливать руками
🗿 — EDA только руками
✍️ — попробуем
@neuro_channel
ну вот и дошутились, сеньоры, берегитесь
Питонисты, тут у вас конкурент растет (буквально). На YouTube нашли PROGRAMMER_SEREGA/videos">канал с уроками по Python, который ведет семилетний Сережа. Малой выкладывает видео уже чуть больше года. Если искали, как писать нейросетки, то вам, судя по всему, туда.
Ждем, когда Сережу захантят в какой-нибудь финтех.
@your_tech
Предложка в Zen of Python
В этом посте вы можете оставлять свои идеи для публикаций или запрашивать разбор той или иной темы.
Это обсуждение отправится в закреп, так что вы всегда можете попросить разбор / обсуждение / что угодно релевантное здесь.
#предложка
@zen_of_python
Графовые алгоритмы | Марк Нидхем, Эми Ходлер
Теория графов — особенно актуальная тема для тех, кто освоился с классическими базами данных и осваивает Apache Spark / Tensorflow / Cassandra.
Свежепереведенная в 2020 году книга под издательством o'Reilly освещает:
— виды графов
— графовые алгоритмы OLTP, OLAP
— алгоритмы поиска по графу
— поиск кратчайшего пути
— алгоритм выделения сообществ
— применение графов в Машинном обучении и проч.
По просьбе подписчика @xcontrast.
Книга на сайте O'Reilly
#продвинуто
Фанатов VSCode обижать нельзя, их слишком много.
Адептам этой IDE от Microsoft полагается такой замечательный гайд по настройке программы. Весьма познавательно про подкапотную ПО, а также годная подборка плагинов для разработки.
Единожды потеряв удобные настройки в IDE, захочется любому создать облачный переносимый профиль.
10+ пасхальных яиц в Python
Кроме избитого import this и Zen of Python в статье еще интересно про шифр Цезаря и мнение создателя языка при вызове help.
p.s. На скрине — мнение ван Россума относительно класса («Не для слабонервных»). И в чем он не прав?
@zen_of_python
Cовременные инструменты форматирования строк: викторина
Небольшой англоязычный квиз на 10 вопросов про f-строки, метод format() и кастомные форматировщики как раз для начинающих. Перед тем, как стартовать, освежите свои познания с помощью гайда с realpython.com.
#основы
@zen_of_python
Початиться с друзьями, полистать ленту, посмотреть новый видос…
Что бы ещё такого поделать, только бы не заняться важным делом — вернуться к учёбе:)
Предлагаем объявить бой прокрастинации и показать вашу решимость учиться. Попробуйте закрыть все уведомления на экране, которые отвлекают вас на пути к знаниям: https://tprg.ru/2Y9s
Реклама
Типы объектов в Python
Марк Лутц, «Изучаем Python»: даже сами типы представляют собой объекты; тип объекта является объектом типа type. [...] Практическое применение этого заключается в том, что объекты типов могут использоваться для ручных сравнений типов в операторах if языка Python.
Каждый основной тип имеет встроенное имя, добавленное для поддержки настройки типов через объектно-ориентированное создание производных классов: dict, list, str, tuple, int, float, complex, bytes, type, set и т.д.
Сохраните себе эту диаграмму, её трудно найти, легко потерять и очень легко забыть, хотя она помогает запомнить такие важные для собеседований вопросы как изменяемые / неизменямые типы, виды вызываемых объектов и проч.
#основы
@zen_of_python
marimo | Еще более интерактивный ноутбук.ipynb
Интересная надстройка над привычными ноутбуками.ipynb, позволяющая запускать ваши проекты как веб-приложения. Похоже на Streamlit, но со своими фишками. На видео, к примеру, визуализируется эмбеддинг. Проект набрал 7К+ звезд на GitHub, а это что-то да значит.
Тот случай, когда радуешься непустому разделу Issues на GH, ведь это значит, что такой непростой проект все же поддерживается.
Цена: бесплатно
Репозиторий проекта
#инструменты
@zen_of_python
Регистрация пользователей с верификацией по OTP
В статье описан процесс настройки регистрации пользователей с верификацией по одноразовому паролю (OTP) в Django. Читатели узнают, как создать приложение пользователя, настроить сериализаторы и конечные точки для процесса регистрации и активации аккаунта через OTP на электронную почту.
Подробности: https://captain0205.hashnode.dev/user-registration-with-otp-verification
#en
@django_prog | Другие наши каналы
Пока дебажишь чужой код, мир начинает играть новыми красками
#кек
Нет времени объяснять, регистрируйся на МТС True Tech Champ!
Осталось несколько дней до шоу финала ИТ-чемпионата.
Дата: 8 ноября
Место: МТС Live Холл
Формат: Офлайн + Онлайн
Участников ждут:
— Шоу с гонкой роботов в интерактивных лабиринтах
— 20+ активностей для кодеров и фанатов технологий
— Выступления спикеров, воркшопы, плохие прогерские шутки
Тебе точно понравится, если ты:
— Занимаешься разработкой
— Интересуешься технологиями
— Планируешь построить карьеру в ИТ
До конца регистрации несколько дней — успей присоединиться: https://truetechchamp.ru/conf
Это #партнёрский пост
Его величество Граф
Программисты, как члены королевской семьи — их повсюду окружают графы. И можно значительно упростить себе жизнь, если научиться видеть их и использовать многочисленные наработки по визуализации и алгоритмам.
Эта статья создана, чтобы вы смогли сделать это. После прочтения вы будете знать:
— основы работы с графами;
— как применяются графы в Python;
— примеры использования графов;
— как решать задачи на графах;
— о визуализации и аналие графов.
#графы #алгоритмы
Машинное обучение на понятном языке
Если поискать материалы на эту тему, то найдёте либо сложные статьи или научные работы, которые сможет дочитать хотя бы до середины только специалист, либо картинки с роботами и обещания о восстании машин.
Автор этой статьи решил исправить это и написал статью, которую поймёт даже ваша бабуля.
#ml #ai