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
加入频道
AIbase — сайт с подборкой нейросетей на все случаи жизни

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

Заходите и выбирайте: https://www.aibase.com/tools

#ml #ai
Tproger дарит мерч за лучшую статью

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

По выбору темы можете отписаться в комментариях под постом во Флудильне или прийти к нам в бота @TP_editorial_bot, чтобы обсудить подробности и подготовить статью🤪

Очень ждем ваши тексты💗
This media is not supported in your browser
VIEW IN TELEGRAM
Работаем с физикой объекто в Python с использованием Pymunk

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

В этой статье вы научитесь самостоятельно создавать физические симуляции с помощью библиотек Pymunk и Pygame.

#pygame #pymunk
Запуск Django в Docker с PostgreSQL, Gunicorn и Nginx

Интересуетесь, как запустить ваше Django-приложение в Docker? Статья описывает пошаговый процесс развертывания с использованием PostgreSQL, Gunicorn и Nginx. Узнайте, как конфигурировать файлы и тестировать приложение в контейнерах.

Подробности: https://arefinrumi.hashnode.dev/dockerizing-django-with-postgres-gunicorn-and-nginx

#en

@django_prog | Другие наши каналы
Вышел PyTorch 2.5

В новом релизе много обновок и доработок:

— расширенная поддержка графических ускорителей от компании Intel;
— новый сервер CuDNN для SDPA;
— доступность бэкенда C++ TorchInductor в Windows и многое другое.

Со всеми обновлениями можно ознакомиться на сайте библиотеки.

#новости #pytorch
Почему разработка игр на Python не умерла: Godot и другие библиотеки в геймдеве

Когда речь заходит о разработке игр, многие сразу вспоминают C++ или C#, которые считаются стандартом в крупных студиях. Однако Python, несмотря на свою репутацию, продолжает оставаться актуальным и используется в разработке игр.

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

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

#gamedev
Машинное обучение на понятном языке

Если поискать материалы на эту тему, то найдёте либо сложные статьи или научные работы, которые сможет дочитать хотя бы до середины только специалист, либо картинки с роботами и обещания о восстании машин.

Автор этой статьи решил исправить это и написал статью, которую поймёт даже ваша бабуля.

#ml #ai
Это вам ужастик к хэллоуину 🎃
Please open Telegram to view this post
VIEW IN TELEGRAM
Его величество Граф

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

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

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

#графы #алгоритмы
Forwarded from Нейроканал
This media is not supported in your browser
VIEW IN TELEGRAM
Claude идет «в разведку»

На официальной твиттерской Anthropic запостили про новую фичу — EDA (Предварительный анализ данных). По приложенным данным прямо рядом с диалоговым окном и графики построят, и инсайты поищут (смотрите видео).

Получается, у julius.ai «сшерлочили» фичу?

🌭 — предпочитаю проводить EDA вручную
☃️ — есть у LLM хорошие попытки, но приходится допиливать руками
🗿 — EDA только руками
✍️ — попробуем

@neuro_channel
Какой способ создаст словарь {'s': None, 'p': None, 'a': None, 'm': None}?
Anonymous Quiz
6%
D = dict.fromkeys('spam')
28%
D = {k: None for k in 'spam'}
27%
D = dict.fromkeys(['s', 'p', 'a', 'm'], None)
39%
Все
Мы подвели итоги октября по самым лучшим статьям авторов, которые писали для Tproger

🥇 1 место — Прощай, Discord: где теперь общаться геймерам и не только
🥈 2 место — Что удобнее для разработчика: Mac Studio или кастомный ПК?
🥉 3 место — Безумное улучшение производительности в LINQ .NET 9

Поздравляем авторов!

В следующем месяце вы можете выиграть 🎁 мерч Tproger — для этого нужно написать самую популярную статью.

Обратитесь к боту, чтобы выбрать одну из тем или предложить свою. Далее напишите статью и отправьте её на модерацию. Победителей объявим в конце месяца.

p.s. Не скупитесь на реакции под этим постом, поддержите авторов — они заслужили.

@zen_of_python
This media is not supported in your browser
VIEW IN TELEGRAM
Пока дебажишь чужой код, мир начинает играть новыми красками

#кек
В Matplotlib добавили темные темы

Прямиком из опенсорсной библиотеки научных цветов (да, и такие существуют) от Фабио Крамери создатели Matplotlib взяли темные темы managua, berlin и vanimo ради полноценности коллекции colormaps. Для тех, кто заинтересовался аргументацией такого выбора, есть статья Крамери, в которой он объясняет, почему именно такие «сдержанные» сочетания уместны.

Глядишь, доживем, канвасы Matplotlib станут красивыми.

Подробнее

#основы

@zen_of_python
Регистрация пользователей с верификацией по OTP

В статье описан процесс настройки регистрации пользователей с верификацией по одноразовому паролю (OTP) в Django. Читатели узнают, как создать приложение пользователя, настроить сериализаторы и конечные точки для процесса регистрации и активации аккаунта через OTP на электронную почту.

Подробности: https://captain0205.hashnode.dev/user-registration-with-otp-verification

#en

@django_prog | Другие наши каналы
pyproject.toml | Лучшие практики

Годный лонгрид про файл конфигурации, который приходит на смену requirements.txt и setup.py, начиная с Python 3.6+. Если вкратце, это решает «проблему курицы и яйца» (setup.py не может выполняться без знания своих зависимостей, но при этом он предназначен для определения этих зависимостей).

Отлично подойдет новичкам, которые хотят научиться указывать продакшн-зависимости и те, что нужны в рамках разработки (см. extras).

🗿 — использую requirements.txt
— использую pyproject.toml
🌭 — мне не актуально

@zen_of_python
This media is not supported in your browser
VIEW IN TELEGRAM
marimo | Еще более интерактивный ноутбук.ipynb

Интересная надстройка над привычными ноутбуками.ipynb, позволяющая запускать ваши проекты как веб-приложения. Похоже на Streamlit, но со своими фишками. На видео, к примеру, визуализируется эмбеддинг. Проект набрал 7К+ звезд на GitHub, а это что-то да значит.

Тот случай, когда радуешься непустому разделу Issues на GH, ведь это значит, что такой непростой проект все же поддерживается.

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

#инструменты

@zen_of_python
Простыми словами: протоколы в Python

Python – это язык с динамической типизацией. Но что это значит на практике? Это означает, что тип переменной определяется в момент присвоения ей значения. Эта гибкость порождает риски появления ошибок, связанных с несовпадением типов переменных и параметров функций.

Например, рассмотрим простую функцию:


def add(a, b):

return a + b


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


def add(a: int, b: int) -> int:

return a + b


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

Тем не менее, использование mypy и аннотаций типов не делает типизацию в Python статической.

Утиная типизация

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


def send_data(sender, data):
sender.send(data)


При этом может возникнуть вопрос, как дать понять mypy, что sender должен иметь метод send? В этом случае используются протоколы.

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


from typing import Protocol, Mapping, Any

class SenderProtocol(Protocol):
def send(data: Mapping[str, Any]) -> None:
...


Реализация очень похожа на абстрактный класс (или, как его еще величают, интерфейс), но с другим суперклассом и отсутствием декораторов abstractmethod, abstractproperty и других вспомогательных вещей. Теперь мы можем использовать его как аннотацию типа:


def send_data(sender: SenderProtocol, data):

sender.send(data)


Все, задача выполнена! Теперь и разработчики, и статический анализатор знают, что из себя представляет из себя параметр sender.

#основы


@zen_of_python
Типы объектов в Python

Марк Лутц, «Изучаем Python»: даже сами типы представляют собой объекты; тип объекта является объектом типа type. [...] Практическое применение этого заключается в том, что объекты типов могут использоваться для ручных сравнений типов в операторах if языка Python. 

Каждый основной тип имеет встроенное имя, добавленное для поддержки настройки типов через объектно-ориентированное создание производных классов: dict, list, str, tuple, int, float, complex, bytes, type, set и т.д.

Сохраните себе эту диаграмму, её трудно найти, легко потерять и очень легко забыть, хотя она помогает запомнить такие важные для собеседований вопросы как изменяемые / неизменямые типы, виды вызываемых объектов и проч.

#основы

@zen_of_python