zen_of_python | Unsorted

Telegram-канал zen_of_python - Zen of Python

20144

Полный Дзен Пайтона в одном канале Разместить рекламу: @tproger_sales_bot Правила общения: https://tprg.ru/rules Другие каналы: @tproger_channels Сайт: https://tprg.ru/site Регистрация в перечне РКН: https://tprg.ru/xZOL

Subscribe to a channel

Zen of Python

Генератор QR-кодов для Wi-Fi

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

GitHub

#библиотека

Читать полностью…

Zen of Python

Большая шпаргалка по Python

У этого репозитория уже более 36 тысяч звёзд на GitHub, а последнее обновление было на прошлой неделе.

Шпаргалка покрывает большинство возможностей Python, поэтому её полезно держать при себе каждому Python-разработчику. Особенно если работаете на MacOS или Linux.

Сохраняйте в избранное и не забывайте: https://github.com/gto76/python-cheatsheet

#шпаргалка

Читать полностью…

Zen of Python

А может, именно вы — будущий Маск? Или Безос?

Узнайте, на кого вы похожи из лидеров технологического бизнеса. Переходите по ссылке, отвечайте на вопросы теста и берите на заметку: https://tprg.ru/VSex

Реклама

Читать полностью…

Zen of Python

Совет для ускорения проверки по вхождению элементов

#видео

Читать полностью…

Zen of Python

Вы наверняка знаете, что ChatGPT написан на Python. Но как именно он помогает питонисту в повседневной работе в 2024 году?

@zen_of_python

Читать полностью…

Zen of Python

​​Как себя ощущает «плюсовик» когда ускорил программу на 100 наносекунд:

Читать полностью…

Zen of Python

Задача о Рокфеллере

Вам дан тензор с суммами на счетах, где account[i][j] — это сумма денег, которую имеет i​​​​​​​​​​-й​​​ клиент в j​​​​​​​-м банке.


accounts = [[1,2,5],[3,6,1]]
У 1-го клиента два счета на сумму 4 (1 + 3)
У 2-го — 8 (2 + 6)
У 3-го — 6 (5 + 1)


Напишите функцию find_richest(), которая найдет Рокфеллера — самого богатого клиента.

Для проверки:


>>> accounts = [[1,2,5],[3,6,1]]
>>> find_richest(accounts)
... 2


#задача

@zen_of_python

Читать полностью…

Zen of Python

#кек

@zen_of_python

Читать полностью…

Zen of Python

#кек

@zen_of_python

Читать полностью…

Zen of Python

​​diagrams | Визуализируем архитектуру с помощью кода

Простая утилита, позволяющая быстро демострировать устройство проекта. т.е. значки компонентов импортируются и связываются:

with Diagram("Simple Web Service with DB Cluster", show=False):
dns = Route53("dns")
web = ECS("service")

with Cluster("DB Cluster"):
db_primary = RDS("primary")
db_primary - [RDS("replica1"),
RDS("replica2")]

dns >> web >> db_primary

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

#библиотека

@zen_of_python

Читать полностью…

Zen of Python

​​Вопрос подписчика

Задает @webstriker:

«Какая библиотека подходит для запуска LLM на потребительской видеокарте для генерации текста в том же Jupyter Notebook? Llama cpp, Tensor rt или что то еще?»

NB! Пожалуйста, будьте взаимовежливы. Всем нам нужна возможность выговориться и попросить помощи без угрозы быть затроленным.

#обсуждение

@zen_of_python

Читать полностью…

Zen of Python

​​Какой шрифт лучше подойдёт для программирования?

Забавный полуразвлекательный квиз с realpython.com (на английском, состоящий из 12 вопросов и рассчитанный на 10 минут. Узнаете кое-что новое про свои визуальные потребности в IDE.

🌭 — мне достаточно дефолтного шрифта в любой IDE
🌚 — выбираю свой (напишите, какой шрифт любите)

#квиз

@zen_of_python

Читать полностью…

Zen of Python

​​Поздравляем победителей

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

— @mad_shamann;
— @Python3k;
— @GeorKu;
— @vsugoyak.

Самое краткое верное решение предложил @vsugoyak:

def get_mean_salary(salaries):
  return int(sum(srt_tr:=(srt:=sorted(salaries))[srt.count(srt[0]):-srt.count(srt[-1])])/len(srt_tr))

NB! Многие предложенные решения не прошли проверку, поскольку в списке зарплат возможны повторы, что искажает вычисление среднего.

Отдельный респект @Python3k за решение, учитывающее алгоритмическую сложность. И @GeorKu за неявную ситуацию с повтором зарплат в списке.

@zen_of_python

Читать полностью…

Zen of Python

​​vectorlite | SQLite как векторное хранилище

Это было вопросом времени: если вы сталкивались с прикруткой своей базы знаний к GPT, то знаете, что такое векторное хранилище (FAISS, Pinecone).

Китайцы подгадали потребность разработчиков RAG и запилили решение, которое in-place преобразует обычные SQL-таблицы в вектора. Браво. Ждём, когда крупные компании — разработчики БД «зашерлочат» (заберут себе) эту замечательную фичу.

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

#библиотека

@zen_of_python

Читать полностью…

Zen of Python

​​Вопросы новичков

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

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

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

@zen_of_python

Читать полностью…

Zen of Python

Зачем нужен List Comprehensions и как он помогает Python-разработчикам

List Comprehensions — это мощный инструмент в Python, который позволяет создавать списки простым и читаемым способом. Используя List Comprehensions, вы можете избавиться от громоздких циклов for и сделать код более компактным.

Основной синтаксис List Comprehensions выглядит так:

[выражение for элемент in итерируемый_объект]

Где выражение определяет, что будет добавлено в новый список, а элемент перебирает каждый элемент в итерируемый_объект.

Простой пример:

Создадим список квадратов чисел от 1 до 5:
squares = [x**2 for x in range(1, 6)]
print(squares) # Результат: [1, 4, 9, 16, 25]


Пример с условием:

Теперь создадим список из чисел от 1 до 5, но включим только четные числа:
even_numbers = [x for x in range(1, 6) if x % 2 == 0]
print(even_numbers) # Результат: [2, 4]


Вложенные циклы:

Создадим матрицу 3x3 из чисел от 1 до 3:
matrix = [[x for x in range(1, 4)] for y in range(1, 4)]
print(matrix) # Результат: [[1, 2, 3], [1, 2, 3], [1, 2, 3]]


Пример с условием и вложенными циклами:

Предположим, у нас есть список словарей, и мы хотим извлечь все дни рождения:
people = [
{"first_name": "Василий", "last_name": "Марков", "birthday": "9/25/1984"},
{"first_name": "Регина", "last_name": "Павленко", "birthday": "8/21/1995"}
]

birthdays = [person["birthday"] for person in people if "birthday" in person]
print(birthdays) # Результат: ['9/25/1984', '8/21/1995']


Используя List Comprehensions, вы можете значительно сократить объем кода и сделать его более читаемым. Это особенно полезно для создания списков из данных, применения условий и работы с многомерными структурами данных.

#советы

Читать полностью…

Zen of Python

Целых 25 лучших практик для разработки на Python в одной статье

Если вы хотите не просто программировать на Python, но и делать это качественно, быстро, создавать гибкий и масштабируемый код, который поймёте не только вы, но и ваши коллеги, то читайте и запоминайте:

https://proglib.io/p/25-luchshih-praktik-razrabotki-na-python-2024-07-09

Что бы вы добавили к этому списку?

#советы

Читать полностью…

Zen of Python

Метод append() в Python: что это, синтаксис и примеры кода

Метод append() применяется к спискам (то есть к list‘ам) в Python и используется для добавления нового элемента в конец списка.

В этой статье мы подробно рассказали как работает метод, разобрали синтаксис, привели несколько примеров кода и сравнили с методом extend(), чтобы вы могли использовать его в полную силу:

https://tproger.ru/articles/append-python

#основы

Читать полностью…

Zen of Python

Freeway — инструмент пентестеров для взлома Wi-Fi

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

Это касается и безопасности Wi-Fi сетей, которые они проверяют с помощью утилиты Freeway для Python.

Если хотите проверить свои силы в пентесте на собственной домашней сети, то по ссылке найдёте инструкцию по установке и использованию:

https://github.com/FLOCK4H/Freeway

Использовать только для этичного хакинга и проверки собственной безопасности!

#безопасность #пентест

Читать полностью…

Zen of Python

​​Вопрос подписчика

Задаёт @Tuburetka:

«Подскажите с чего начать учить пайтон? И где можно практиковаться?»

NB! Пожалуйста, будьте взаимовежливы. Всем нам нужно место, где можно получить поддержку.

От админа: подписчики привнесли в мою жизнь годнейший YouTube-канал selfedu_rus/videos">@selfedu. Он на русском, там и про основы Py, и про Django, и проч.

#обсуждение

@zen_of_python

Читать полностью…

Zen of Python

А внизу якобы простолюдины, пишущие на «медленных» языках

Читать полностью…

Zen of Python

Минутка полезных мемов на Zen of Python

Меню вверху / Среда выполнения / Сменить среду выполнения. Чтобы не слить на k-Means слишком много времени, как админ.

#факт

@zen_of_python

Читать полностью…

Zen of Python

Если бы у питонистов был свой покровитель, как его звали? Святой Социопатрик. Поделитесь в комментариях.

#кек

@zen_of_python

Читать полностью…

Zen of Python

​​Вопросы новичков

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

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

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

@zen_of_python

Читать полностью…

Zen of Python

​​Бенчмарк pandas vs. vaex vs. polars

Разработчик Дмитрий Руденко asimandia/benchmarking-performance-polars-vs-vaex-vs-pandas-f1c889dccc12">сравнил три решения для обработки данных в разрезах производительности и расходования памяти. Получилось очень доступно, даже новички поймут. NB! Для просмотра статьи на Medium вам потребуется VPN.

Спасибо подписчику @Pik_rat за рекомендацию.

@neuro_channel

Читать полностью…

Zen of Python

Loki | Факт-чекинг

Это и подобные решения заиграли новым красками, когда GPT стали галлюцинировать. Библиотека «обернётся» вокруг вывода нейросети и укажет, где правда, а где ложь. Из топа самых актуальных решений 2024 года, несомненно.

#библиотека

@zen_of_python

Читать полностью…

Zen of Python

​​Графики с аннотациями на канвасе

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

gg.annotate(
'text',
x=exceeds100 + 2, y=5000 - 600,
label='Total coal production first\nexceeds 100 million tonnes\nper year.',
color=text_col,
family=body_font,
ha='left',
size=9,
va='top'
)

#факты

@zen_of_python

Читать полностью…

Zen of Python

​​Вопрос подписчика

Задаёт @swell_d:

«есть здоровое приложение на flask. хочу собрать контейнер docker так, чтобы не было доступа к исходному коду приложения. попробовал скомпилировать pyc и удалить py - ничего не вышло. куда копать?»

NB! Пожалуйста, будьте взаимовежливы. Всем нам нужна возможность выговориться и попросить помощи без угрозы быть затроленным.

#обсуждение

@zen_of_python

Читать полностью…

Zen of Python

Задача о расстоянии между массивами

На входе два массива arr1 и arr2 и целое число d. Напишите функцию find_arr_distance(), которая вернёт расстояние между двумя массивами.

Расстояния определяется как количество элементов arr1[i] таких, что не существует элемента arr2[j], где arr1[i] - arr2[j]| <= d.

Для проверки:


>>> arr1 = [4,5,8],
>>> arr2 = [10,9,1,8]
>>> d = 2
>>> find_arr_distance(arr1, arr2, d)
... 2


Объяснение:

Для arr1[0]=4 имеем:
|4-10|=6 > d=2
|4-9|=5 > d=2
|4-1|=3 > d=2
|4-8|=4 > d=2

Для arr1[1]=5 имеем:
|5-10|=5 > d=2
|5-9|=4 > d=2
|5-1|=4 > d=2
|5-8|=3 > d=2

Для arr1[2]=8 имеем:
|8-10|=2 <= d=2
|8-9|=1 <= d=2
|8-1|=7 > d=2
|8-8|=0 <= d=2

#задача

@zen_of_python

Читать полностью…

Zen of Python

Pygame — разработка игр на Python

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

Ловите небольшой курс по этой игровой библиотеке, где в процессе обучения вы напишете культовую Space Invaders:

https://youtu.be/ilP1dImCuJ8?si=0BNIQYvlQ_PJ9KfR

#курс #python #gamedev #ru

Читать полностью…
Subscribe to a channel