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

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

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

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

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

Регистрация в перечне РКН: https://tprg.ru/xZOL
Download Telegram
Пишем сайт на Django за 20 минут

Сложные сайты часто создают с помощью React, Vue.js и других фреймворков. Но сайт на Django ничем не уступает написанным на JS-фреймворках. А часто — даже наоборот: он менее сложен, требует меньше кода и меньше времени на разработку.

И вот небольшой гайд, как за 20 минут создать несложный сайт на Django

#django #гайд
🤡32👍2🔥2👏21
Как подключить платёжную систему к боту Telegram?

Небольшой, но достаточно подробный гайд, как разработать бота для приёма платежей и развернуть его на облачном сервере:

https://habr.com/ru/companies/selectel/articles/729856/

#туториал #бот #telegram
👍51😁1
Выполняем тестовое задание на джуниора Python-разработчика с зарплатой 70 000 рублей

В видео разобрали тестовое с приложением для конвертации PDF-файлов в MP3 и конвертатором криптовалют с веб-интерфейсом на Django.

Хорошая практика, так ещё и на задачах из реального тестового задания: https://youtu.be/Q0lHb-FCATk

#видео #django #собеседование
😁10🤡6👍4💩1👌1
В чём разница между дата-аналитиком и ML-инженером?

Разбираем обязанности вместе с реальными специалистами: https://tprg.ru/F956

#datascience #ml
👍5
В Python 3.12 приняли PEP 695 — Type Parameter Syntax, который добавляет новый синтаксис для дженерик классов, функций и алиасов для типов

Обычно, функция принимает на вход значение, а на выходе отдаёт значение такого же типа. Так вот теперь в 3.12 не нужно отдельно писать typing.TypeVar и указывать одно и то же имя переменной (1 скриншот).

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

Кроме того, тайп-алиасы с переменными типов тоже стало писать легче (2 скриншот), ведь отпала необходимость явно определять TypeVar. В языке появляется новое «мягкое» ключевое слово type, которое ведёт себя по-разному в зависимости от контекста (как async).

Кому интересно, можно подробнее почитать доки, там ещё много интересных фишек и тонкостей.

#новости
👍27🔥82🤡2😁1
Быстрый гайд по всем возможностям print в Python

Рассказываем, как использовать print по максимуму

Всё простым языком и с примерами.

#начинающим
👍10
Релиз Django LTS 4.2: что нового и стоит ли обновляться?

Совсем забыл, что в начале апреля вышла LTS-версия Django. Вот отличный обзор нововведений и ответ на самый главный вопрос — «стоит ли обновляться?»:

https://habr.com/ru/companies/yandex_praktikum/articles/727626/

#новости #django
👍101
Если только выбираете себе IDE, присмотритесь к Thonny

Какие гайды по Python не смотри, какие книги не читай, везде советуют либо родную IDE, либо сразу какой-нибудь новомодный VSCode или PyCharm.

Но вот алмаз, идеальная IDE для для начинающих разработчиков — Thony: https://thonny.org/

Конечно, выглядит она не так модно, зато что внутри! Thonny не просто поддерживает различные способы выполнения кода по шагам, вычисления выражений и детальную визуализацию стека вызовов, но ещё имеет режим объяснения концепций ссылок и кучи.

И это не личная рекомендация, Thonny — рекомендуют в открытых онлайн-курсах у серьёзных университетов, а с 2017 года эта IDE ещё и по умолчанию включается в официальный дистрибутив Raspberry Pi Raspbian

В общем, обязательно попробуйте — для старта будет больше, чем достаточно, а потом уже ставьте VScode.

#начинающим #инструменты
💩21👍13😐1
Создаём интерфейс для приложений Python

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

Там рассматривают весь Tkinter, графический фреймворк Python по умолчанию, и для примера создают приложение BMI, калькулятор и графический редактор в стиле Photoshop.

Сохраните себе, чтобы «давайте уже после майских» действительно состоялось, а видео не потерялось в тоннах другого контента.
👍141
В Python, как и в других языках, есть логический тип переменных bool, у которого есть 2 значения: True и False

А ещё в Python существует механизм, с помощью которого значение любого типа можно привести к True или False. По-английски это называется truthy и falsy, что можно перевести как «истинноватые» значения.

Как это работает и зачем это вообще нужно
👍15👎3
Forwarded from Типичный программист
Сколько рядов набрали?
😁26👍1💩1🤡1
Как ускорить Python в 100 раз при помощи менее чем ста строк на Rust

В статье рассказали:
— Как Rust (при помощи pyo3) раскрывает истинную нативную производительность повседневного кода на Python с минимальными компромиссами.
— Почему Python — превосходный API для исследователей, а создание быстрых строительных блоков на Rust — это чрезвычайно мощное сочетание.
— Из-за чего профилирование крайне интересно и почему оно мотивирует по-настоящему разобраться со всем, что происходит в вашем коде.

#лучшиепрактики
👍9💩3
Forwarded from IT Юмор
This media is not supported in your browser
VIEW IN TELEGRAM
Не нужно давать джуну доступ к проду
🤣41👍36😁7💩2
А вот и свежая подборка лучших материалов по Python!

Узнайте, как подключить AutoGPT к своему проекту, какие обновления затронули Django и как обучить GPT-4 новым данным. Бонусом — огромная подборка полезных статей, гайдов и видео:

https://tproger.ru/articles/python-digest-8/

#дайджест #веб #django #нейросети #gamedev
😁13💩4👍2👏1
В AWS Lambda наконец-то добавили рантайм Python 3.10

Как-то пропустил эту новость, но фишка в том, что ребята в AWS почему-то добавляют новые рантаймы с задержкой в 1,5 года. Так что это вполне себе важная новость.

Конечно, это не всегда критично, да и для serverless-приложений можно завести контейнер с нужной версией Python. Но такое отставание для такой крупной компании просто странно. Да и у таких контейнеров cold start медленнее.

Анонс и инструкцию можно почитать здесь: https://aws.amazon.com/ru/blogs/compute/python-3-10-runtime-now-available-in-aws-lambda/

#новости
😁8👍1
И ещё одна отличная новость: Docker Init теперь поддерживает Python

На днях вышел Docker Desktop 4.19. Коллеги уже сделали обзор новых фишек в Docker Desktop, среди которых повышение производительности, поддержка новых языков для Docker Init и обновление Moby.

#docker
👍8
Как улучшить дизайн ООП в Python: Принципы SOLID

Когда вы пишете на Python, используя ООП, сложно сразу правильно запланировать то, как классы и объекты будут взаимодействовать друг с другом. Тут могут здорово помочь принципы SOLID.

Статья на английском, которая поможет разобраться, что за принципы и как их лучше применять.

Серия коротких видео на русском, которая объясняет то же самое. И хотя примеры на JS, всё равно объяснено очень доступно и применимо для Python.

#лучшиепрактики
4👍1
Оптимизируем использование памяти в приложениях Python

Когда дело доходит до оптимизации производительности, чаще всего особое внимание уделяется скорости и активности использования ЦП. Гораздо реже кто-либо задумывается о потреблении памяти, а зря.

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

#лучшиепрактики
👍2👌1
Как работает функция filter?

Вроде бы всё просто, функция делает буквально то, о чём говорит её название, — фильтрует элементы в последовательности. Но давайте разбираться, как именно она это делает.

Основная фишка функции filter в том, что каждый элемент передается функции, которая включает его в последовательность, если по условию получает True, и отбрасывает в случае False.

Например:
def add_three(x):
if x % 2 == 0:
return True
else:
return False

li = [1,2,3,4,5,6,7,8]

[i for i in filter(add_three, li)]

Мы получим:
#=> [2, 4, 6, 8}

Для базового использования этого понимания должно хватить. Но у filter также есть несколько особенностей использования, которые важно учитывать при продвинутой разработке. О них подробнее можно почитать в статье.

#собеседование
👍5