20070
Полный Дзен Пайтона в одном канале Разместить рекламу: @tproger_sales_bot Правила общения: https://tprg.ru/rules Другие каналы: @tproger_channels Сайт: https://tprg.ru/site Регистрация в перечне РКН: https://tprg.ru/xZOL
Вопрос подписчика
Задаёт @KAPITAN_FLASHBACK:
«В питоне есть инструмент, для того что-бы при ssh соединении прокидывать сразу несколько портов? (Не через subprocess)»
#обсуждение
@zen_of_python
Что нового в VSCode про Python
В блоге IDE опубликовали описание релиза для расширения Python. Если вкратце, то:
— внедрена интерактивная среда REPL. Теперь можно отправить код исполнятся в оболочку выделением строк и нажатием Shift + Enter (на видео);
— оптимизировано взаимодействие с pytest и проч.
Расширение на Visual Studio Marketplace
#факты
@zen_of_python
Мини-статья: как снизить нагрузку на CRM-систему
Разработчик из ГПБ понятно рассказывает как устроена их система customer relationship management и почему в качестве СУБД остановились на Redis: https://tprg.ru/UPEl
Играть в симулятор фермы как настоящий питонист
Фанат Hay Day решил улучшить свои игровые результаты с помощью Google OR Tools — библиотеки для оптимизации процессов, маршрутов и проч. Получилась целая модель, и этот лонгрид — хороший способ для новичка познакомиться с проблемой оптимизации, будь то задача коммивояжёра или оптимизация нагрузки).
#факты
@zen_of_python
WeasyPrint | скриншоты веб-страниц
Если вам тоже надоело, что нашпигованные сайты не дают сделать нормальные скриншоты длинных страниц браузерными расширениями, эта библиотека поможет. Она работает не на рендеринг движках вроде WebKit или Gecko, а на нескольких инструментах.
Репозиторий проекта
#библиотека
@zen_of_python
Senior Python разработчики, ваш выход
На новой вакансии вам предстоит:
В тесной коллаборации с Data Science командой заниматься продуктовой разработкой и писать нагруженные сервисы на Python. От вас требуется опыт промышленной разработки на Python, хорошие знания алгоритмов и умение в Docker и Postgres.
Будет плюсом:
— опыт создания CI/CD pipeline’ов.
— общее понимание основ Data Science.
— опыт работы с Kafka, Redis.
— опыт работы с Openshift, Minio, Ceph.
Нажимайте, чтобы быть на связи
#вакансии #работа
Flappy Bird на PyQt
Энтузиаст собрал свой клон небезызвестной игры в стиле endless runner и рассказал на Reddit, как шёл процесс разработки. Очень интересный пример пет-проекта, подъёмного даже для новичка.
#факты
@zen_of_python
Вопросы от новичков
Zen of Python поддерживает новоприбывших в особой рубрике. Как это работает:
— Спрашивайте что угодно (в комментариях под этим постом), связанное с Python. Здесь нет плохих вопросов!
— Сообщество вас поддержит. Самые интересные вопросы мы разберём в отдельном посте;
#вопросыновичков
@zen_of_python
Жизнь после буткемпа: как начать карьеру разработчика с нуля
Поиск работы — всегда стресс, особенно когда она первая. Рассказываем, как начинающим разработчикам войти в IT и построить карьеру после интенсивных курсов.
Вопрос от Python-разработчика
Задает Сергей Лалетин:
"Как защитить Django-приложения? CSP стоит того?"
NB! Это обсуждение на сайте. Чтобы участвовать в обсуждении, вам потребуется авторизация.
Перейти к треду
#обсуждение
@zen_of_python
Интерактивный grep
sig позволяет пользователям осуществлять интерактивный поиск (потоковых) данных в режиме реального времени без остановки компиляции / интерпретации.
Цена: бесплатно
Репозиторий проекта
@prog_tools
Senior Python разработчики, ваш выход
На новой вакансии вам предстоит:
В тесной коллаборации с Data Science командой заниматься продуктовой разработкой и писать нагруженные сервисы на Python. От вас требуется опыт промышленной разработки на Python, хорошие знания алгоритмов и умение в Docker и Postgres.
Будет плюсом:
— опыт создания CI/CD pipeline’ов.
— общее понимание основ Data Science.
— опыт работы с Kafka, Redis.
— опыт работы с Openshift, Minio, Ceph.
Нажимайте, чтобы быть на связи
#вакансии #работа
#кек
⚡ — по канону: пробелы
🐳 — табы
🌚 — все равно, ведь постоянно лишь одно: Ctrl + V, Ctrl + C
@zen_of_python
Задача о горном массиве
Вам даётся массив целых чисел arr. Напишите функцию check_mountain(), которая проверит ряд на последовательное увеличение, затем снижение (смотри картинку).
Существует некий i при условии 0 < i < arr.length - 1, чтобы:
- arr[0] < arr[1] < ... < arr[i - 1] < arr[i]
- arr[i] > arr[i + 1] > ... > arr[arr.length - 1]
arr.length >= 3>>> arr = [3,5,5]
>>> check_mountain(arr)
... False
Квиз про интерполяцию строк
Попробуйте свои силы в викторине realpython.com на тему вставки переменных в строки, ведь топик только кажется досконально понятным. Для подготовки можно использовать эту статью.
@zen_of_python
Большой обзор: какой язык учить в 2024 году?
МТС оценили Python, JavaScript, Java, TypeScript, Golang, Ruby и Swift по популярности, порогу вхождения и зарплатам. Узнайте какое место занял наш любимый «питон»: https://tprg.ru/F3eJ
Python в Excel: обзор от разработчика
Понятная англоязычная статья про текущие возможности и ограничения ЯП в рамках MS Excel. Здесь и Py про замену Power Query (язык запросов к таблице), и про чистку табличных данных, и про прогнозирование временных рядов.
⚡— пробовал(-а) Python в Excel
🤔 — еще не доводилось пощупать
#факты
@zen_of_python
Поздравляем победителей
Задачу о горном массиве верно решили:
— @ganrre;
— Sergey;
— @v1ktoriia_romanova;
— @sidor0912;
— @vsugoyak.
Кратчайшие верные решения предложили @sidor0912:check_mountain = lambda a: all((len(i)>1 and i == sorted(set(i)) for i in (a[:a.index(max(a))+1], a[len(a)-1:a.index(max(a))-1:-1])))
и @vsugoyak:def check_mountain(arr): return all([arr[nm-1]<arr[nm] for nm in range(1,len(arr))])
#задача
@zen_of_python
Задача об email
Адрес электронной почты состоит из локального и доменного имён, разделённых знаком «@». Помимо строчных букв, электронное письмо может содержать один или несколько символов «.» (точка) или «+» (плюс).
Например, в «alice@tproger.ru» alice — это локальное имя, а tproger.ru — доменное. Если вы добавите точки '.' в локальное имя (например, al.ice), почта все равно полетит на тот же адрес alice.
Если вы добавите + в локальное имя, все, что находится после первого такого плюса, будет игнорироваться. Это позволяет фильтровать определённые письма. Например, письмо на m.y+name@email.com будет перенаправлено на my@email.com».
NB! эти правила не распространяются на доменные имена. Возможно использование обоих этих правил одновременно.
Напишите функцию, которая принимает список почт и рассчитывает количество различных адресов, которые фактически получают почту.>>> emails = ["test.email+alex@tproger.com","test.e.mail+bob.cathy@tproger.ru","testemail+david@t.proger.ru"]>>> count_emails()... 2
Объяснение: из перечисленных адресов только testemail@tproger.ru и "testemail@tproger.ru" действительно получат письма.
#задача
@zen_of_python
Оптимизировать Python? Зачем?
Техлид Яндекс Такси Серёжа Яхницкий рассказал в мемах, как и чем техногигант повышает производительность питона.
Неожиданно расслабляющая форма изложения: здесь и про профилирование, и linux perf, и JIT-компиляцию, . Понятно будет даже новичкам. Как раз позалипать на выходных.
#факты
@zen_of_python
Ирония разработки, или С легким дебагом!
@ithumor
Из жизни админа. Это был программа для конвертации генома из одного формата в другой.
#кек
@zen_of_python
Вопрос от подписчика
Задает @StSav012:
"Как работают декораторы Slot и pyqtSlot в PySide6 и PyQt6, соответственно? Нужны ли они чисто для IDE?"
NB! Комментарии к посту отключены: мы ждем ваших ответов в чате "Логово питона" (пост переадресован туда).
#обсуждение
@zen_of_python
Мы нашли вход в айтишную Нарнию
И он оказался не в шкафу, а в Telegram. Если интересуетесь темой IT, то скорее вступайте в чат типичных айтишников! Там вы найдёте единомышленников и сможете обсудить волнующие вас вопросы.
Вход в айтишную Нарнию по ссылке.
Поздравляем победителей
Задачу про поворот изображения верно решили:
— @Cheshir78;
— @ipipe_host;
— @savelevgeo;
— @vsugoyak;
— Cool and Fun Python (@Python3k).
Кратчайшие верные решения предложили @Cheshir78:def flip(image): return [[1 - x for x in row[::-1]] for row in image]
и @ipipe_host:def flip(image): return [[abs(j - 1) for j in i[::-1]] for i in image]
Отдельный респект @Python3k за решение, которое понятно на любом уровне Py-знания:def flip(image: list[list[int]]) -> list[list[int]]: """Поворот изображения.""" n = len(image) for row in image: row.reverse() for i in range(n): row[i] = 1 - row[i] return image# пример работыimage = [[1,1,0,0],[1,0,0,1],[0,1,1,1],[1,0,1,0]]flipped_image = flip(image)for row in flipped_image: print(row)
#задача
@zen_of_python
Гонка на столбчатой диаграмме
Вы наверняка встречали такие видео, когда речь шла о бенчмарке GPT или экономиках стран. Библиотека sjvisualizer как раз позволяет создавать такие. Принимает данные в популярных форматах (.xslx, датафрейм pandas), поддерживает круговые / линейные диаграммы.
Репозиторий проекта
#библиотека
@zen_of_python
Мы расширяемся и ищем новых редакторов в команду!
Если вам нравятся наши соцсети и вы хотите принять участие в их развитии, то у вас появилась такая возможность.
Подробнее с вакансией можно познакомиться по ссылке.
#вакансии #работа
drawdb | WYSIWYG для вашей базы данных SQL
User-friendly-редактор связей между таблицами базы данных для браузера. Это полностью бесплатный проект на ReactJS, и он поддерживает:
— экспорт массива с описанием взаимосвязей между таблицами;
— темплейты;
— MySQL, PostgreSQL, SQLite, MariaDB, SQL Server;
— настраиваемый UI и проч.
Репозиторий проекта
#библиотека
@zen_of_python