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

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

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

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

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

Регистрация в перечне РКН: https://tprg.ru/xZOL
Download Telegram
В 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
Как использовать инструменты статического анализа в Python

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

В статье подробно разобрали несколько инструментов статического анализа с открытым ПО для Python, включая Bandit и Radon. Bandit находит уязвимости в коде, а Radon генерирует метрики о сложности и удобстве сопровождения кода: https://nuancesprog.ru/p/17267/

#лучшиепрактики #безопасность
👍1
Forwarded from IT Юмор
​​Когда осваиваешь новую IDE:
🔥23😁14🥱4💩2👍1
Основатель «Типичного программиста» в авторском канале рассказывает с чего начинался Tproger (спойлер: с мемов): @nostoppers

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

Несколько примеров постов:

Есть идея по стартапу. Что дальше?

Как быть с задачами, которые не делаются?

Неочевидные правила Daily standup

Пробежки как способ развития бизнеса

Правила проведения демо разработки
1👍1
Компания Modular выпустила Mojo — Python-совместимый язык с производительностью Си

2 мая 2023 года компания Modular, одна из компаний-лидеров в сфере AI, анонсировала новый язык программирования Mojo.

Язык обещает полную совместимость с Python и (внимание!) сверх-высокую производительность. В компании утверждают, что автоматическое низкоуровневое распараллеливание, возможности строгой типизации и статической компиляции уже на самых ранних этапах развития языка позволяют достичь скорости, превосходящей Python в 35 000 раз.

В теории, как всегда, всё хорошо, но как на деле — давайте разбираться: https://habr.com/ru/articles/734318/

#новости
🤔10👍1🥰1
Что почитать на выходных: «Паттерны разработки на Python: TDD, DDD и событийно-ориентированная архитектура» Гарри Персиваля и Боба Грегори

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

Отдельно хорошо то, что теория подкреплена примерами на чистом Python без синтаксической избыточности Java и C#.

#книги #паттерны
👍81👎1🤯1👨‍💻1
Особенности работы с русской кодировкой при загрузке файлов через aiohttp

Если работали с aiohttp, вы наверняка натыкались на баги с битой кодировкой. Если да, то вот небольшая статья на несколько минут чтения, в которой разработчики рассказывают о своём опыте столкновения с этой ошибкой и её фиксом.

#лучшиепрактики #безопасность #библиотека
👍1
25 мини-проектов для практики Python

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

Вот подборка из 25 идей мини-проектов для практики с готовым кодом

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

#подборка #гайд #начинающим
👍19👎21
«Карманный синоптик за час»: пишем Telegram-бота для мониторинга погоды на Python

Небольшой гайд о том, как написать своего Telegram-бота для получения данных о погоде в любом городе.

В статье подробно рассмотрели работу с API, парсинг JSON и написали бота на асинхронной библиотеке aiogram. А после — загрузили на виртуальный сервер и запустили бота.

#туториал #бот #telegram
10👍4
Дайджест Python #9: PandasAI, телеграм-бот на Django и языковые модели на Python

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

Узнайте, что такое PandasAI и почему он изменит Data Science, как написать Telegram-бота на Django и как сделать языковую модель на Python:

https://tproger.ru/articles/dajdzhest-python-9/

#дайджест
👍3
Как бесплатно хостить Telegram-ботов?

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

Я пообещал найти и поделиться гайдом. Собственно, вот гайд, который я использую, когда нужно завести небольшого личного бота на Replit. Чтобы он работал без остановки и его не сбрасывало каждые 20-30 минут.

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

Далеко за примером ходить не буду, однажды Replit внезапно как-то странно перезапустил моего бота, и тот запросил код из сообщения. Я этого не делал, не подумал про Replit и сбросил все активные сеансы.

И теперь каждый раз, когда я запускаю бота на Replit, Telegram выкидывает все активные сеансы в моём аккаунте и исправить это нельзя. Видимо, Telegram счёл подозрительным IP/сервер Replit. Благо, ботом уже активно пользовались и другие люди, поэтому Replit только поторопил с переносом.

Надо ли говорить, что на нормальном платном хостинге такие вопросы всегда можно решить с поддержкой. Или, как минимум, взять сервер с другим IP/гео. Но тут, как говорится, на вкус и цвет.

#туториал #бот #telegram
👍8🔥32