Python Hub - сборище Питонистов
1.61K subscribers
615 photos
1 video
35 files
259 links
Уголок счастья для любого питониста.

Сотрудничество или заказы: @leshunist

https://shcoder.dev - студия разработки ShcoderDevelopment

https://t.me/pythonhub_chat - чат
Download Telegram
🤖Телеграм бот с оплатой криптой через сервис Heleket.

🤑Проверил самостоятельно реальным инвойсом, все четко!

Смотрим, пользуемся, пишем фидбек в комменты.
👍

как обычно - p.s. на ютубе прожимайте лайки, если полезно, чтоб я понимал

https://youtu.be/6xgwXgrAPqU
Please open Telegram to view this post
VIEW IN TELEGRAM
👍5
Теперь можно принимать платежи на свою карточку без ИП или самозанятости?👏

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

p.s. раньше тоже можно было, просто почему-то мало про это говорят

https://youtu.be/e5Zptnm1WYI
Please open Telegram to view this post
VIEW IN TELEGRAM
👍82🤔1
Опять эти миниаппсы на чистом пайтоне.🙂

Кто-то использует Flet, кстати, для написания миниаппов


p.s. я солидарен с тем, что практичнее и лучше использовать полноценный бэк и фронт, но для быстрых MVP ботов флет идеален, как по мне

https://youtu.be/RLRfjXEcYsk
Please open Telegram to view this post
VIEW IN TELEGRAM
2👍2
Python Hub - сборище Питонистов
Photo
🔍 Разбор задачи

В Python аргументы по умолчанию вычисляются один раз при определении функции, а не при каждом вызове.


def func(x, y=[]):
y.append(x)
return y


Когда мы вызываем func(1) → список y создаётся один раз и сохраняется. В него добавляется 1. Результат: [1].
При вызове func(2) используется тот же самый список, в который уже добавлена 1. Теперь добавляется 2. Результат: [1, 2].
При вызове func(3, []) мы передаём новый пустой список вместо значения по умолчанию. В него добавляется 3. Результат: [3].
При вызове func(4) снова используется старый общий список, где уже [1, 2]. Добавляется 4. Результат: [1, 2, 4].

👉 Итог: код выведет
[1], [1, 2], [3], [1, 2, 4]
3🤔2🎄1
Python Hub - сборище Питонистов
Photo
👋 Разбор кода по шагам

s = "python"

1. s[1:5:2]

Формат среза: [start:stop:step]
start = 1, stop = 5 (не включительно), step = 2
Берём символы с индексами 1 и 3:
s[1] = 'y'
s[3] = 'h'
Результат: 'yh'

2. s[::-1]

Шаг -1 → идём с конца к началу → переворачиваем строку полностью
'python' → 'nohtyp'
Результат: 'nohtyp'

3. s[::3]

Шаг 3, start и stop не указаны → берём от начала до конца, каждый 3-й символ
Индексы, которые берём: 0, 3
s[0] = 'p'
s[3] = 'h'

Результат: 'ph'

😨Итоговый вывод:

'yh', 'nohtyp', 'ph'


Совет подписчикам: внимательно проверяйте индексы при срезах и шагах — это частая ловушка!
Please open Telegram to view this post
VIEW IN TELEGRAM
👍4
🎙Познаем новые библиотеки

🚀 Memray — мощный профайлер памяти для Python от Bloomberg

Работаете с тяжёлыми Python-приложениями, где «утекает» память или внезапно проседает производительность?
На помощь приходит Memray — один из самых продвинутых инструментов для анализа использования памяти.

🔍 Что умеет Memray:
- Отслеживает каждую функцию и весь стек вызовов
- Видит не только Python-код, но и нативные вызовы C/C++
- Минимальные накладные расходы на профилирование
- Наглядные отчёты: flame graph, таблицы, деревья, live-мониторинг
- Поддержка Python-потоков и нативных потоков

🧩 Зачем использовать:
- Поиск утечек памяти
- Анализ «почему приложение ест больше, чем нужно»
- Поиск горячих точек по выделению памяти

Пример использования:
# Запускаем приложение под профайлером
python3 -m memray run -o output.bin my_script.py


# Строим flame graph
python3 -m memray flamegraph output.bin


👉 Результат — HTML-отчёт, который можно открыть в браузере.

📦 Установка:
pip install memray


⚠️(Работает на Linux и macOS, Python 3.7+)

https://github.com/bloomberg/memray

💡 Если у вас были «битвы» с утечками памяти — попробуйте Memray. Его уже используют в Bloomberg и крупных open-source проектах.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍4
Что выдаст код выше?
Anonymous Quiz
12%
[1, 9, 25]
10%
[2, 4]
67%
[4, 16]
10%
Не знаю
👍5
Python Hub - сборище Питонистов
Photo
Разбор 😨

Список nums = [1, 2, 3, 4, 5]

В генераторе [x**2 for x in nums if x % 2 == 0]:
берём только те x, которые делятся на 2 (чётные)
это 2 и 4
возводим их в квадрат: 2**2 = 4, 4**2 = 16

Результат: [4, 16]
Please open Telegram to view this post
VIEW IN TELEGRAM
👍83