⚡️ PyOpenCL — ускоряем Python вычисления на GPU. Этот проект даёт доступ к технологии OpenCL прямо из Python, позволяя задействовать не только видеокарты, но и любые параллельные вычислительные устройства. Он сочетает низкоуровневый контроль с автоматической обработкой ошибок и привязкой жизненного цикла объектов.
Инструмент имеет обширную документацию с примерами: от простого поэлементного умножения массивов до сложных алгоритмов с использованием локальной памяти GPU. Проект работает с реализациями OpenCL от Apple, AMD и Nvidia, а установка через Conda занимает буквально пару команд.
🤖 GitHub
@pythonl
Инструмент имеет обширную документацию с примерами: от простого поэлементного умножения массивов до сложных алгоритмов с использованием локальной памяти GPU. Проект работает с реализациями OpenCL от Apple, AMD и Nvidia, а установка через Conda занимает буквально пару команд.
🤖 GitHub
@pythonl
❤10🔥4🤩1
🧩 Задача для разминки
Что выведет этот код? Попробуй догадаться без запуска.
🤔 Подумай: сколько раз вызовется eq?
🎯 Разбор:
print(a in b)
🔍 Проверка a in b вызывает b.__contains__(a), который по умолчанию использует ==.
👉 Вызовется eq, будет True.
print(a == b[0])
🔍 Прямое сравнение — снова eq.
print(b.count(a))
🔍 list.count сравнивает каждый элемент с ==. В нашем списке один элемент — a.
👉 Опять вызывается eq.
💥 Вывод будет:
Comparing!
True
Comparing!
True
Comparing!
1
📌Вывод: __eq__ сработал 3 раза, и каждый раз напечатал "Comparing!".
🧠 Уловка: Python-списки используют ==, даже если это один и тот же объект! Да, a == a всё равно вызовет __eq__, если он определён.
⚠️ Фишка для интервью:
Можно подменить поведение ==, но is (сравнение идентичности) всегда быстрее и не вызывает магии.
@pythonl
Что выведет этот код? Попробуй догадаться без запуска.
class Sneaky:
def __eq__(self, other):
print("Comparing!")
return True
a = Sneaky()
b = [a]
print(a in b)
print(a == b[0])
print(b.count(a))
🤔 Подумай: сколько раз вызовется eq?
🎯 Разбор:
print(a in b)
🔍 Проверка a in b вызывает b.__contains__(a), который по умолчанию использует ==.
👉 Вызовется eq, будет True.
print(a == b[0])
🔍 Прямое сравнение — снова eq.
print(b.count(a))
🔍 list.count сравнивает каждый элемент с ==. В нашем списке один элемент — a.
👉 Опять вызывается eq.
Comparing!
True
Comparing!
True
Comparing!
1
📌
🧠 Уловка: Python-списки используют ==, даже если это один и тот же объект! Да, a == a всё равно вызовет __eq__, если он определён.
⚠️ Фишка для интервью:
Можно подменить поведение ==, но is (сравнение идентичности) всегда быстрее и не вызывает магии.
@pythonl
❤16🔥12👍5
🔥 CAI — ИИ для поиска багов от Alias Robotics
Что это такое?
CAI — лёгкий фреймворк для создания AI-агентов, которые помогают автоматизировать поиск и проверку уязвимостей.
Как это работает?
- Загружаете YAML-конфиги
Опишите сценарии поиска багов, тестов и отчётов в простых текстовых файлах.
- LLM-агенты
AI-модель эмулирует протоколы (SSH, HTTP, TCP и другие) и взаимодействует с целевыми системами как настоящий тестировщик.
- Генерация и «разогрев» данных
Создавайте синтетические запросы для обучения и быстро запускайте агента на своих данных.
- Оффлайн-оценка
Собирайте результаты тестов и анализируйте их без постоянного подключения к интернету.
Зачем использовать CAI?
- Ускоряет подготовку и запуск тестов безопасности
- Позволяет гибко настраивать шаги проверки
- Повышает прозрачность и повторяемость отчётов о найденных уязвимостях
Установка и запуск:
📌 Github
@pythonl
Что это такое?
CAI — лёгкий фреймворк для создания AI-агентов, которые помогают автоматизировать поиск и проверку уязвимостей.
Как это работает?
- Загружаете YAML-конфиги
Опишите сценарии поиска багов, тестов и отчётов в простых текстовых файлах.
- LLM-агенты
AI-модель эмулирует протоколы (SSH, HTTP, TCP и другие) и взаимодействует с целевыми системами как настоящий тестировщик.
- Генерация и «разогрев» данных
Создавайте синтетические запросы для обучения и быстро запускайте агента на своих данных.
- Оффлайн-оценка
Собирайте результаты тестов и анализируйте их без постоянного подключения к интернету.
Зачем использовать CAI?
- Ускоряет подготовку и запуск тестов безопасности
- Позволяет гибко настраивать шаги проверки
- Повышает прозрачность и повторяемость отчётов о найденных уязвимостях
Установка и запуск:
git clone https://github.com/aliasrobotics/cai.git
cd cai
# отредактируйте config.yaml и запустите агента
📌 Github
@pythonl
❤8👍8🔥4
⚡️ Почему лучшие разработчики всегда на шаг впереди?
Потому что они знают, где брать настоящие инсайд!
Оставь “программирование в вакууме” в прошлом, выбирай свой стек — подпишись и погружайся в поток идей, лайфхаков и знаний, которые не найдёшь в открытом доступе.
ИИ: t.me/ai_machinelearning_big_data
Python: t.me/pro_python_code
Linux: t.me/linuxacademiya
Devops: t.me/DevOPSitsec
Базы данных: t.me/sqlhub
Мл собес t.me/machinelearning_interview
C++ t.me/cpluspluc
Docker: t.me/DevopsDocker
Хакинг: t.me/linuxkalii
МЛ: t.me/machinelearning_ru
Data Science: t.me/data_analysis_ml
Javascript: t.me/javascriptv
C#: t.me/csharp_ci
Java: t.me/java_library
Python собеседования: t.me/python_job_interview
Мобильная разработка: t.me/mobdevelop
Golang: t.me/Golang_google
React: t.me/react_tg
Rust: t.me/rust_code
ИИ: t.me/vistehno
PHP: t.me/phpshka
Android: t.me/android_its
Frontend: t.me/front
Big Data: t.me/bigdatai
МАТЕМАТИКА: t.me/data_math
Kubernets: t.me/kubernetc
Разработка игр: https://t.me/gamedev
Физика: t.me/fizmat
SQL: t.me/databases_tg
Папка Go разработчика: t.me/addlist/MUtJEeJSxeY2YTFi
Папка Python разработчика: t.me/addlist/eEPya-HF6mkxMGIy
Папка ML: https://t.me/addlist/2Ls-snqEeytkMDgy
Папка FRONTEND: https://t.me/addlist/mzMMG3RPZhY2M2Iy
🎓954ГБ ОПЕНСОРС КУРСОВ: @courses
😆ИТ-Мемы: t.me/memes_prog
🇬🇧Английский: t.me/english_forprogrammers
🧠ИИ: t.me/vistehno
🖥 Chatgpt для кода в тг: @Chatgpturbobot -
📕Ит-книги: https://t.me/addlist/BkskQciUW_FhNjEy
💼ИТ-вакансии t.me/addlist/_zyy_jQ_QUsyM2Vi
Подпишись, чтобы всегда знать, куда двигаться дальше!
Потому что они знают, где брать настоящие инсайд!
Оставь “программирование в вакууме” в прошлом, выбирай свой стек — подпишись и погружайся в поток идей, лайфхаков и знаний, которые не найдёшь в открытом доступе.
ИИ: t.me/ai_machinelearning_big_data
Python: t.me/pro_python_code
Linux: t.me/linuxacademiya
Devops: t.me/DevOPSitsec
Базы данных: t.me/sqlhub
Мл собес t.me/machinelearning_interview
C++ t.me/cpluspluc
Docker: t.me/DevopsDocker
Хакинг: t.me/linuxkalii
МЛ: t.me/machinelearning_ru
Data Science: t.me/data_analysis_ml
Javascript: t.me/javascriptv
C#: t.me/csharp_ci
Java: t.me/java_library
Python собеседования: t.me/python_job_interview
Мобильная разработка: t.me/mobdevelop
Golang: t.me/Golang_google
React: t.me/react_tg
Rust: t.me/rust_code
ИИ: t.me/vistehno
PHP: t.me/phpshka
Android: t.me/android_its
Frontend: t.me/front
Big Data: t.me/bigdatai
МАТЕМАТИКА: t.me/data_math
Kubernets: t.me/kubernetc
Разработка игр: https://t.me/gamedev
Физика: t.me/fizmat
SQL: t.me/databases_tg
Папка Go разработчика: t.me/addlist/MUtJEeJSxeY2YTFi
Папка Python разработчика: t.me/addlist/eEPya-HF6mkxMGIy
Папка ML: https://t.me/addlist/2Ls-snqEeytkMDgy
Папка FRONTEND: https://t.me/addlist/mzMMG3RPZhY2M2Iy
🎓954ГБ ОПЕНСОРС КУРСОВ: @courses
😆ИТ-Мемы: t.me/memes_prog
🇬🇧Английский: t.me/english_forprogrammers
🧠ИИ: t.me/vistehno
📕Ит-книги: https://t.me/addlist/BkskQciUW_FhNjEy
💼ИТ-вакансии t.me/addlist/_zyy_jQ_QUsyM2Vi
Подпишись, чтобы всегда знать, куда двигаться дальше!
Please open Telegram to view this post
VIEW IN TELEGRAM
❤5👍3🔥3
This media is not supported in your browser
VIEW IN TELEGRAM
📊 Vizro — low-code инструмент для создания дашбордов на Python. Интересный проект для аналитиков и дата-инженеров, позволяющий собирать интерактивные дашборды буквально в несколько строк кода. Основан на связке Plotly + Dash + Pydantic, но скрывает сложность за простым декларативным синтаксисом в JSON/YAML/Python-словарях.
Библиотека имеет встроенные best practices по визуализации данных и возможность кастомизировать всё через Python/JS, когда low-code возможностей недостаточно. Готовые дашборды выглядят профессионально и сразу готовы к продакшену.
🤖 GitHub
@pythonl
Библиотека имеет встроенные best practices по визуализации данных и возможность кастомизировать всё через Python/JS, когда low-code возможностей недостаточно. Готовые дашборды выглядят профессионально и сразу готовы к продакшену.
🤖 GitHub
@pythonl
🔥14❤11👍4
Forwarded from Machinelearning
This media is not supported in your browser
VIEW IN TELEGRAM
📓🦙 NotebookLlama — open-source альтернатива NotebookLM!
Практически полный функционал NotebookLM — в опенсорсе.
✔️ Собирает базу знаний из документов — с точным разбором через LlamaCloud
✔️ Автоматически пишет резюме и строит mind map-графы
✔️ Позволяет генерировать подкасты (работает на базе ElevenLabs)
✔️ Позволяет вести чат с агентом по документам
✔️ Метрики и аналитика через opentelemetry
🛠 Всё в открытом репо — можешь форкать, кастомизировать, заменять компоненты под себя.
Установка:
▪GitHub: https://github.com/run-llama/notebookllama
▪Попробовать в LlamaCloud: https://cloud.llamaindex.ai
@ai_machinelearning_big_data
#AI #ML #LLM #opensource #NotebookLM
Практически полный функционал NotebookLM — в опенсорсе.
🛠 Всё в открытом репо — можешь форкать, кастомизировать, заменять компоненты под себя.
Установка:
git clone https://github.com/run-llama/notebookllama
▪GitHub: https://github.com/run-llama/notebookllama
▪Попробовать в LlamaCloud: https://cloud.llamaindex.ai
@ai_machinelearning_big_data
#AI #ML #LLM #opensource #NotebookLM
Please open Telegram to view this post
VIEW IN TELEGRAM
❤8👍4🔥3🤩2
👾 GREMLLM — теперь у ваших багов есть сознание
GREMLLM — это необычный Python-класс, в котором все методы и свойства создаются динамически с помощью LLM. Вы описываете, *что за объект вы хотите*, и дальше GREMLLM сам решает, что должно происходить при вызове методов или обращении к полям.
📦 Установка:
🔧 Пример:
🧩 Возможности:
– Динамическое поведение: всё определяется "на лету" с помощью LLM
– Поддержка OpenAI, Claude, Gemini, и локальных моделей
– Wet Mode: можно строить цепочки вызовов (методы возвращают объекты)
– Verbose Mode: выводит, какой код был сгенерирован
– Умная обработка ошибок и настройка через наследование
⚠️ Это экспериментальный инструмент. Не для продакшена. Но очень интересен для изучения LLM-интеграций в Python-код.
🔗 Репозиторий: https://github.com/ur-whitelab/gremllm
@pythonl
GREMLLM — это необычный Python-класс, в котором все методы и свойства создаются динамически с помощью LLM. Вы описываете, *что за объект вы хотите*, и дальше GREMLLM сам решает, что должно происходить при вызове методов или обращении к полям.
📦 Установка:
pip install gremllm
🔧 Пример:
from gremllm import Gremllm
counter = Gremllm('counter')
counter.value = 5
counter.increment()
print(counter.value) # → 6?
print(counter.to_roman_numerals()) # → VI?
🧩 Возможности:
– Динамическое поведение: всё определяется "на лету" с помощью LLM
– Поддержка OpenAI, Claude, Gemini, и локальных моделей
– Wet Mode: можно строить цепочки вызовов (методы возвращают объекты)
– Verbose Mode: выводит, какой код был сгенерирован
– Умная обработка ошибок и настройка через наследование
⚠️ Это экспериментальный инструмент. Не для продакшена. Но очень интересен для изучения LLM-интеграций в Python-код.
🔗 Репозиторий: https://github.com/ur-whitelab/gremllm
@pythonl
🔥10❤6🤩4😁1
ML-инженеры, какая встреча!
19 июля в Москве снова пройдет Turbo ML Conf от группы Т-Технологий. В этом году — еще масштабнее!
В программе 5 тематических потоков, продовые кейсы и технологии.
Среди спикеров — эксперты Т-Банка, Сбера, Яндекса и других ведущих специалистов.
Будет много нетворкинга, прикладные доклады, настольные игры, лимитированный мерч. Участие бесплатное.
Успейте оставить заявку
19 июля в Москве снова пройдет Turbo ML Conf от группы Т-Технологий. В этом году — еще масштабнее!
В программе 5 тематических потоков, продовые кейсы и технологии.
Среди спикеров — эксперты Т-Банка, Сбера, Яндекса и других ведущих специалистов.
Будет много нетворкинга, прикладные доклады, настольные игры, лимитированный мерч. Участие бесплатное.
Успейте оставить заявку
❤5👍2🔥2😱2😢2
⚡ Ускорь Python без переписывания — скомпилируй код в .so через Cython
Нужно ускорить медленные куски Python-кода (циклы, численные вычисления, парсинг)?
Не обязательно лезть в C или переписывать всё под NumPy. Можно взять свой
@pythonl
Нужно ускорить медленные куски Python-кода (циклы, численные вычисления, парсинг)?
Не обязательно лезть в C или переписывать всё под NumPy. Можно взять свой
.py`-файл, добавить одну строчку и превратить его в бинарный
.so`‑модуль через Cython — без изменения логики.
# 1. Устанавливаем Cython и компилятор
pip install cython
sudo apt install build-essential
# 2. Переименовываем файл
mv myscript.py myscript.pyx
# 3. Создаём setup.py
echo '
from setuptools import setup
from Cython.Build import cythonize
setup(ext_modules=cythonize("myscript.pyx"))
' > setup.py
# 4. Компилируем
python3 setup.py build_ext --inplace
# 5. Используем как обычный модуль
python3 -c 'import myscript; myscript.main()'
@pythonl
🔥25❤9👍6😱2
This media is not supported in your browser
VIEW IN TELEGRAM
🧠 Ускорь import в Python-проектах с помощью lazy loading — без изменения логики
Если у тебя проект с тяжёлыми модулями (`pandas`,
Вот как это выглядит на практике:
@pythonl
Если у тебя проект с тяжёлыми модулями (`pandas`,
torch
, tensorflow`), но они не всегда нужны — не загружай их зря. Python позволяет **отложить импорт до первого использования**, через встроённый `importlib
.Вот как это выглядит на практике:
import importlib
# Обёртка для ленивого импорта
def lazy_import(name):
return importlib.util.LazyLoader(importlib.import_module(name))
# Использование
np = lazy_import('numpy')
# numpy ещё не загружен
# Теперь загрузится:
print(np.array([1, 2, 3]))
@pythonl
❤32👍16🔥5
🪶 DotDotGoose — open-source инструмент для ручного подсчёта объектов на изображениях
Нужен простой способ разметить объекты на фото — вручную и без лишних настроек? DotDotGoose — идеальный выбор. Это десктоп‑приложение, написанное на Python, для учёта объектов путём простого "тыкания" точек.
🔧 Возможности:
- Быстрое добавление точек и классов объектов
- Зум, панорама, тёмная тема
- Экспорт в CSV, JSON и изображения с разметкой
- Поддержка пользовательских метаданных
- Готовые билды под Windows и macOS
Установка:
👨🔬 Для всех, кому нужен точный ручной подсчёт на изображениях.
🔗 GitHub:
@pythonl
Нужен простой способ разметить объекты на фото — вручную и без лишних настроек? DotDotGoose — идеальный выбор. Это десктоп‑приложение, написанное на Python, для учёта объектов путём простого "тыкания" точек.
🔧 Возможности:
- Быстрое добавление точек и классов объектов
- Зум, панорама, тёмная тема
- Экспорт в CSV, JSON и изображения с разметкой
- Поддержка пользовательских метаданных
- Готовые билды под Windows и macOS
Установка:
git clone https://github.com/persts/DotDotGoose
python3 -m venv ddg-env
source ddg-env/bin/activate
python -m pip install --upgrade pip
python -m pip install -r ./DotDotGoose/requirements.txt
👨🔬 Для всех, кому нужен точный ручной подсчёт на изображениях.
🔗 GitHub:
@pythonl
❤8👍4🔥3😱2
10 июля(уже в четверг!) в 19:00 по мск приходи онлайн на открытое собеседование, чтобы посмотреть на настоящее интервью на Middle Python-разработчика.
Как это будет:
Это бесплатно. Эфир проходит в рамках менторской программы от ШОРТКАТ для Python-разработчиков, которые хотят повысить свой грейд, ЗП и прокачать скиллы.
Переходи в нашего бота, чтобы получить ссылку на эфир → @shortcut_py_bot
Реклама. ООО "ШОРТКАТ", ИНН: 9731139396, erid: 2VtzqwZX5NF
Please open Telegram to view this post
VIEW IN TELEGRAM
❤8🔥3
This media is not supported in your browser
VIEW IN TELEGRAM
🧠 Как превратить любой Python-объект в читаемый словарь — даже если это класс с кучей вложенных полей
Когда работаешь с API, логами или дебажишь сложные объекты — хочется увидеть весь объект как словарь, без
Вот приём, который делает это рекурсивно, красиво и гибко — с помощью
🧠 Рекурсивный разбор любых Python-объектов
📌 Подходит для логирования, сериализации, отладки
📌 Работает с dataclass, обычными классами, объектами из types, JSON-like структурами
📌 Можно расширить: добавить фильтрацию полей, вывод в YAML или сохранение в файл
Теперь любой “монстр из API” — превращается в читаемый словарь за одну строчку.
Когда работаешь с API, логами или дебажишь сложные объекты — хочется увидеть весь объект как словарь, без
.__dict__
, без сериализации, без ручного разбора.Вот приём, который делает это рекурсивно, красиво и гибко — с помощью
dataclasses
и asdict
, даже если объект не был dataclass изначально.python
from dataclasses import dataclass, asdict, is_dataclass
from types import SimpleNamespace
def deep_to_dict(obj):
if isinstance(obj, dict):
return {k: deep_to_dict(v) for k, v in obj.items()}
elif isinstance(obj, list):
return [deep_to_dict(i) for i in obj]
elif is_dataclass(obj):
return asdict(obj)
elif isinstance(obj, SimpleNamespace):
return deep_to_dict(vars(obj))
elif hasattr(obj, '__dict__'):
return deep_to_dict(vars(obj))
else:
return obj
🧠 Рекурсивный разбор любых Python-объектов
📌 Подходит для логирования, сериализации, отладки
📌 Работает с dataclass, обычными классами, объектами из types, JSON-like структурами
📌 Можно расширить: добавить фильтрацию полей, вывод в YAML или сохранение в файл
Теперь любой “монстр из API” — превращается в читаемый словарь за одну строчку.
👍11❤6🔥4🤩1
🐍 20 реально полезных однострочных функций на Python — для тех, кто пишет в прод
Забудь про
1. 📁 Получить все файлы с расширением
2. 🧪 Быстрое тестирование скорости любого выражения
3. 🔎 Показать все публичные методы объекта
4. 🧼 Очистить DataFrame от строк с NaN
5. 🔄 Быстрое многопоточное выполнение функций
6. 🗜️ Получить частоты значений в списке
7. 🔍 Найти дубликаты в списке
8. 📦 Сжать список без
9. 🕵️♂️ Ловить и логировать все исключения в одном выражении
10. 📊 Преобразовать список словарей в DataFrame
11. 🔄 Инвертировать словарь с проверкой на коллизии
12. ⏳ Простой таймер
13. 🔢 Перемешать и взять подмножество
14. 🧠 Получить максимальный элемент по ключу
15. 📐 Убрать отступ у многострочной строки
16. 🛠️ Простой retry без библиотек
17. 📚 Преобразовать JSON-файл в объект
18. 🧮 Быстрая нормализация NumPy-вектора
19. 🧾 Отобразить все переменные окружения, отсортированные по имени
20. 🔄 Преобразовать словарь в query string
@pythonl
Забудь про
[::-1]
и lambda x: x*2
. Вот подборка, где однострочники реально ускоряют работу, убирают лишний код и улучают читаемость кода:1. 📁 Получить все файлы с расширением
.py
рекурсивно
files = list(Path('.').rglob('*.py'))
2. 🧪 Быстрое тестирование скорости любого выражения
timeit(lambda: your_func(), number=1000)
3. 🔎 Показать все публичные методы объекта
[m for m in dir(obj) if not m.startswith('_')]
4. 🧼 Очистить DataFrame от строк с NaN
df_clean = df.dropna()
5. 🔄 Быстрое многопоточное выполнение функций
list(ThreadPoolExecutor().map(func, iterable))
6. 🗜️ Получить частоты значений в списке
dict(Counter(my_list))
7. 🔍 Найти дубликаты в списке
dups = [x for x, c in Counter(lst).items() if c > 1]
8. 📦 Сжать список без
None
filtered = list(filter(None, data))
9. 🕵️♂️ Ловить и логировать все исключения в одном выражении
try: foo() except Exception as e: logging.exception(e)
10. 📊 Преобразовать список словарей в DataFrame
pd.DataFrame(list_of_dicts)
11. 🔄 Инвертировать словарь с проверкой на коллизии
inv = {v: k for k, v in d.items() if list(d.values()).count(v) == 1}
12. ⏳ Простой таймер
start = time(); result = fn(); print(f'{time() - start:.2f}s')
13. 🔢 Перемешать и взять подмножество
sample = random.sample(big_list, k=100)
14. 🧠 Получить максимальный элемент по ключу
max(data, key=lambda x: x.score)
15. 📐 Убрать отступ у многострочной строки
dedented = textwrap.dedent(multiline_string)
16. 🛠️ Простой retry без библиотек
[func() for _ in range(5) if not success()][-1]
17. 📚 Преобразовать JSON-файл в объект
data = json.loads(Path('file.json').read_text())
18. 🧮 Быстрая нормализация NumPy-вектора
v /= np.linalg.norm(v)
19. 🧾 Отобразить все переменные окружения, отсортированные по имени
print('\n'.join(f'{k}={v}' for k, v in sorted(os.environ.items())))
20. 🔄 Преобразовать словарь в query string
query = urlencode(params)
@pythonl
👍23❤11🔥7
🌟 Odigos — распределенный трейсинг без модификации кода. Этот open-source проект меняет правила игры в observability-инструментах. Инструмент умеет автоматически генерировать распределенные трейсы для приложений на Java, Python, .NET, Node.js и Go без необходимости правки исходного кода.
Под капотом используется eBPF для низкоуровневой инструментации, что особенно ценно для скомпилированных языков вроде Go. Трейсы сразу экспортируются в формате OpenTelemetry, что позволяет интегрироваться с любыми совместимыми системами мониторинга.
🤖 GitHub
@pythonl
Под капотом используется eBPF для низкоуровневой инструментации, что особенно ценно для скомпилированных языков вроде Go. Трейсы сразу экспортируются в формате OpenTelemetry, что позволяет интегрироваться с любыми совместимыми системами мониторинга.
🤖 GitHub
@pythonl
❤5🔥2🤩2
Вот 17 авторских обучающих IT каналов по самым востребованным областям программирования:
Выбирай своё направление:
Please open Telegram to view this post
VIEW IN TELEGRAM
❤9🔥3😁2😱2🤩1
This media is not supported in your browser
VIEW IN TELEGRAM
⚙️ Подменяй любые импорты в Python “на лету” — без изменения кода
Если ты хочешь протестировать модуль, подменить зависимость, замокать внешний сервис или обмануть импорт — не обязательно редактировать исходники. Python позволяет перехватывать импорты прямо во время выполнения, через
Вот минимальный приём, который делает это прозрачно:
@pythonl
Если ты хочешь протестировать модуль, подменить зависимость, замокать внешний сервис или обмануть импорт — не обязательно редактировать исходники. Python позволяет перехватывать импорты прямо во время выполнения, через
sys.modules
.Вот минимальный приём, который делает это прозрачно:
import sys
import types
# Создаём фейковый модуль
fake = types.SimpleNamespace()
fake.get_data = lambda: "подмена работает"
# Подменяем импорт
sys.modules['external_service'] = fake
# Теперь даже import будет работать
import external_service
print(external_service.get_data()) # → "подмена работает"
@pythonl
❤12🔥5👍2
🐍 Часть2: ещё 20 полезных Python-однострочников для тех, кто пишет в прод
Первая часть зашла — вот ещё 20 трюков, которые реально экономят время и делают код лаконичнее и чище:
1. 📥 Считать все строки из файла, убрав перевод строки
2. 🔐 Получить SHA256-хеш строки
3. 🧮 Конвертация списка чисел в строку
4. 🛑 Быстро остановить выполнение скрипта
5. 🧠 Распечатать размер объекта в памяти
6. 🧬 Плоское разворачивание вложенных списков
7. 🔄 Инвертировать булеву маску NumPy
8. 🧽 Удалить дубликаты из списка, сохранив порядок
9. 📦 Распаковка аргументов из словаря в функцию
10. 🔎 Получить словарь с топ-N частыми значениями
11. 🪓 Ограничить длину строки с троеточием
12. 🎛️ Массив из 0 и 1 случайной длины
13. 🗓️ Получить сегодняшнюю дату в формате ISO
14. 📁 Получить размер файла в мегабайтах
15. 🔀 Перемешать словарь (Python 3.7+ сохраняет порядок)
16. ⏳ Измерить время выполнения блока
17. 🧱 Разделить список на чанки по N
18. 🕵️ Проверить, работает ли хост (без ping)
19. 🛠️ Быстро заменить подстроку без re
20. 🧪 Убедиться, что все элементы списка — числа
📌 Если нужна часть 3 — ставь лайк.
@pythonl
Первая часть зашла — вот ещё 20 трюков, которые реально экономят время и делают код лаконичнее и чище:
1. 📥 Считать все строки из файла, убрав перевод строки
lines = Path('file.txt').read_text().splitlines()
2. 🔐 Получить SHA256-хеш строки
hash = hashlib.sha256(b"your text").hexdigest()
3. 🧮 Конвертация списка чисел в строку
s = ','.join(map(str, numbers))
4. 🛑 Быстро остановить выполнение скрипта
raise SystemExit("Done")
5. 🧠 Распечатать размер объекта в памяти
print(sys.getsizeof(obj))
6. 🧬 Плоское разворачивание вложенных списков
flat = [i for sub in nested for i in sub]
7. 🔄 Инвертировать булеву маску NumPy
inv_mask = ~mask
8. 🧽 Удалить дубликаты из списка, сохранив порядок
seen = set(); uniq = [x for x in lst if not (x in seen or seen.add(x))]
9. 📦 Распаковка аргументов из словаря в функцию
result = func(**params)
10. 🔎 Получить словарь с топ-N частыми значениями
top_n = dict(Counter(lst).most_common(5))
11. 🪓 Ограничить длину строки с троеточием
s_trunc = s[:n] + '…' if len(s) > n else s
12. 🎛️ Массив из 0 и 1 случайной длины
binary = [random.randint(0, 1) for _ in range(n)]
13. 🗓️ Получить сегодняшнюю дату в формате ISO
today = date.today().isoformat()
14. 📁 Получить размер файла в мегабайтах
size_mb = os.path.getsize(path) / 1024**2
15. 🔀 Перемешать словарь (Python 3.7+ сохраняет порядок)
shuffled = dict(random.sample(d.items(), len(d)))
16. ⏳ Измерить время выполнения блока
with contextlib.redirect_stdout(io.StringIO()): exec('code')
17. 🧱 Разделить список на чанки по N
chunks = [lst[i:i+n] for i in range(0, len(lst), n)]
18. 🕵️ Проверить, работает ли хост (без ping)
ok = socket.create_connection((host, port), timeout=2)
19. 🛠️ Быстро заменить подстроку без re
s = s.replace('from', 'to', 1)
20. 🧪 Убедиться, что все элементы списка — числа
is_all_numbers = all(isinstance(x, (int, float)) for x in lst)
📌 Если нужна часть 3 — ставь лайк.
@pythonl
👍71❤9🔥6
Inside ML: индустриальные секреты машинного обучения
Онлайн-магистратура «Искусственный интеллект» от Вышки запускает мини-курс, где разберём, как ML работает в индустрии: от Computer Vision и AutoML до LLM и мультиагентных систем.
Что вас ждёт:
— 5 вебинаров от практиков из Avito, Сбера, Ozon
— Кейсы: как выигрывают Kaggle AutoML Grand Prix, запускают CV-системы и внедряют LLM в бизнес
— Q&A с экспертами: можно спросить о задачах и карьерном треке в ML
Для кого:
— IT-специалистам, которые хотят перейти в ML или усилить свою экспертизу
— Тем, кто хочет понять, что востребовано сейчас на рынке
— Тем, кто планирует сделать шаг в сторону applied ML или сменить специализацию внутри IT
Когда: до 15 июля, 19:00 (по МСК)
🔗 Зарегистрироваться
Онлайн-магистратура «Искусственный интеллект» от Вышки запускает мини-курс, где разберём, как ML работает в индустрии: от Computer Vision и AutoML до LLM и мультиагентных систем.
Что вас ждёт:
— 5 вебинаров от практиков из Avito, Сбера, Ozon
— Кейсы: как выигрывают Kaggle AutoML Grand Prix, запускают CV-системы и внедряют LLM в бизнес
— Q&A с экспертами: можно спросить о задачах и карьерном треке в ML
Для кого:
— IT-специалистам, которые хотят перейти в ML или усилить свою экспертизу
— Тем, кто хочет понять, что востребовано сейчас на рынке
— Тем, кто планирует сделать шаг в сторону applied ML или сменить специализацию внутри IT
Когда: до 15 июля, 19:00 (по МСК)
🔗 Зарегистрироваться
❤3
This media is not supported in your browser
VIEW IN TELEGRAM
🔥 Совет дня Python: быстро получить частоту элементов в списка
Когда нужно узнать, сколько раз каждый элемент встречается в списке — не пиши вручную циклы. Используй
📌 Удобно для:
— подсчёта слов
— анализа логов
— быстрой статистики по спискам
@pythonl
Когда нужно узнать, сколько раз каждый элемент встречается в списке — не пиши вручную циклы. Используй
collections.Counter
:
from collections import Counter
items = ['apple', 'banana', 'apple', 'orange', 'banana', 'apple']
freq = Counter(items)
print(freq)
# 👉 Counter({'apple': 3, 'banana': 2, 'orange': 1})
📌 Удобно для:
— подсчёта слов
— анализа логов
— быстрой статистики по спискам
@pythonl
❤15👍5🔥4
Что общего у Netflix, Google и Spotify
Все эти компании используют Python для разработки своих продуктов. Python подходит для создания веб-приложений, анализа данных и даже машинного обучения.
Познакомиться с этим универсальным языком можно на бесплатном курсе Нетологии. За 5 занятий вы не просто изучите теорию, а создадите 2 рабочих проекта.
Сначала напишете планировщик задач. Начнёте с кода, который запрашивает дату и описание задачи, добавите условные операторы и циклы, встроите в программу уникальную функцию с помощью готовых библиотек. После создадите телеграм-бота и перенесёте в него функционал планировщика — на выходе у вас будет полноценное приложение.
Помощь в практике и ответы на вопросы сможете получить в чате с экспертами и однокурсниками.
Записывайтесь
Реклама. ООО "Нетология". ИНН 7726464125 Erid 2VSb5xHtdRi
Все эти компании используют Python для разработки своих продуктов. Python подходит для создания веб-приложений, анализа данных и даже машинного обучения.
Познакомиться с этим универсальным языком можно на бесплатном курсе Нетологии. За 5 занятий вы не просто изучите теорию, а создадите 2 рабочих проекта.
Сначала напишете планировщик задач. Начнёте с кода, который запрашивает дату и описание задачи, добавите условные операторы и циклы, встроите в программу уникальную функцию с помощью готовых библиотек. После создадите телеграм-бота и перенесёте в него функционал планировщика — на выходе у вас будет полноценное приложение.
Помощь в практике и ответы на вопросы сможете получить в чате с экспертами и однокурсниками.
Записывайтесь
Реклама. ООО "Нетология". ИНН 7726464125 Erid 2VSb5xHtdRi
❤3😱2