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 Гвидо ван Россум передал разработку ядра интерпретатора языка своему ближайшему коллеге Марку Шэннону:

"I'm tired of not knowing whether I am actually asked for a review, so I'm withdrawing my "ownership" from the core interpreter. Since that would leave the cases generator without owner, I'm volunteering Mark as the owner there (he most recently did a big refactoring so he knows his way around there)."

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

История о том, как разношёрстная публика опенсорсного комьюнити вымотала своими несопоставимыми требованиями одного из самых терпеливых гениев современности.

#факты

@zen_of_python
👍92🍌2❤‍🔥1🫡1
В таком исследовании бы поучаствовать... Еще и 80 долларов доплачивают!
😁9👍1🍌1
This media is not supported in your browser
VIEW IN TELEGRAM
drawdb | WYSIWYG для вашей базы данных SQL

User-friendly-редактор связей между таблицами базы данных для браузера. Это полностью бесплатный проект на ReactJS, и он поддерживает:

— экспорт массива с описанием взаимосвязей между таблицами;
— темплейты;
— MySQL, PostgreSQL, SQLite, MariaDB, SQL Server;
— настраиваемый UI и проч.

Репозиторий проекта

#библиотека

@zen_of_python
🍌3🆒1
Задача о горном массиве

Вам даётся массив целых чисел 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


#задача

@zen_of_python
👍5
Forwarded from Веб-страница
Мы расширяемся и ищем новых редакторов в команду!

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

Подробнее с вакансией можно познакомиться по ссылке.

#вакансии #работа
#кек

— по канону: пробелы
🐳 — табы
🌚 — все равно, ведь постоянно лишь одно: Ctrl + V, Ctrl + C

@zen_of_python
🐳10943🌚17👾3
This media is not supported in your browser
VIEW IN TELEGRAM
Гонка на столбчатой диаграмме

Вы наверняка встречали такие видео, когда речь шла о бенчмарке GPT или экономиках стран. Библиотека sjvisualizer как раз позволяет создавать такие. Принимает данные в популярных форматах (.xslx, датафрейм pandas), поддерживает круговые / линейные диаграммы.

Репозиторий проекта

#библиотека

@zen_of_python
6👍3🍌1
Поздравляем победителей

Задачу про поворот изображения верно решили:

@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
👍6🍾2🍌1
This media is not supported in your browser
VIEW IN TELEGRAM
Интерактивный grep

sig позволяет пользователям осуществлять интерактивный поиск (потоковых) данных в режиме реального времени без остановки компиляции / интерпретации.

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

@prog_tools
👍2🍌1
Мы нашли вход в айтишную Нарнию

И он оказался не в шкафу, а в Telegram. Если интересуетесь темой IT, то скорее вступайте в чат типичных айтишников! Там вы найдёте единомышленников и сможете обсудить волнующие вас вопросы.

Вход в айтишную Нарнию по ссылке.
😁21👍1🍌1
​​Вопрос от Python-разработчика

Задает Сергей Лалетин:

"Как защитить Django-приложения? CSP стоит того?"

NB! Это обсуждение на сайте. Чтобы участвовать в обсуждении, вам потребуется авторизация.

Перейти к треду

#обсуждение

@zen_of_python
👍2🍌1
Вопрос от подписчика

Задает @StSav012:

"Как работают декораторы Slot и pyqtSlot в PySide6 и PyQt6, соответственно? Нужны ли они чисто для IDE?"

NB! Комментарии к посту отключены: мы ждем ваших ответов в чате "Логово питона" (пост переадресован туда).

#обсуждение

@zen_of_python
👍1🤔1🍌1
Жизнь после буткемпа: как начать карьеру разработчика с нуля

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

#кек

@zen_of_python
👏11👍1🍌1
​​Вопросы от новичков

Zen of Python поддерживает новоприбывших в особой рубрике. Как это работает:

— Спрашивайте что угодно (в комментариях под этим постом), связанное с Python. Здесь нет плохих вопросов!
— Сообщество вас поддержит. Самые интересные вопросы мы разберём в отдельном посте;

#вопросыновичков

@zen_of_python
🔥2
Forwarded from IT Юмор
This media is not supported in your browser
VIEW IN TELEGRAM
Ирония разработки, или С легким дебагом!

@ithumor
😁18🤣12
​​Flappy Bird на PyQt

Энтузиаст собрал свой клон небезызвестной игры в стиле endless runner и рассказал на Reddit, как шёл процесс разработки. Очень интересный пример пет-проекта, подъёмного даже для новичка.

#факты

@zen_of_python
Оптимизировать Python? Зачем?

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

Неожиданно расслабляющая форма изложения: здесь и про профилирование, и linux perf, и JIT-компиляцию. Понятно будет даже новичкам. Как раз позалипать на выходных.

#факты

@zen_of_python
👍7
😁15🌚81
Задача об 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
👍41😁1