🐍 Python + Ruff: сложность кода под контролем
На скрине — функция `validate_product`, которая проходит несколько вложенных проверок.
Линтер Ruff с правилом `C901` (McCabe Complexity) сигнализирует: сложность функции = 7, что выше лимита 5.
📏 McCabe Complexity измеряет количество ветвлений и условий в функции. Чем выше показатель, тем сложнее код для понимания и поддержки.
⚠️ Почему это важно:
• Снижение читаемости
• Рост вероятности багов
• Трудности при тестировании
💡 Решение:
1. Разбить функцию на несколько маленьких с понятными именами
2. Использовать ранние выходы (`return`) вместо вложенных `if`
3. Упрощать логику с помощью вспомогательных функций или структур данных
#Python #Ruff #CleanCode #Refactoring #McCabeComplexity
@python_be1
На скрине — функция `validate_product`, которая проходит несколько вложенных проверок.
Линтер Ruff с правилом `C901` (McCabe Complexity) сигнализирует: сложность функции = 7, что выше лимита 5.
📏 McCabe Complexity измеряет количество ветвлений и условий в функции. Чем выше показатель, тем сложнее код для понимания и поддержки.
⚠️ Почему это важно:
• Снижение читаемости
• Рост вероятности багов
• Трудности при тестировании
💡 Решение:
1. Разбить функцию на несколько маленьких с понятными именами
2. Использовать ранние выходы (`return`) вместо вложенных `if`
3. Упрощать логику с помощью вспомогательных функций или структур данных
#Python #Ruff #CleanCode #Refactoring #McCabeComplexity
@python_be1
🐍 Изучаем MCP на Python — серия уроков от Microsoft
Пошаговое руководство для Python-разработчиков по Model Context Protocol (MCP):
как понять концепцию и построить свой MCP-сервер в интерактивном формате.
📚Репозиторий с гайдом (https://github.com/microsoft/lets-learn-mcp-python)
#python #MCP #tutorial #developers
@python_be1
Пошаговое руководство для Python-разработчиков по Model Context Protocol (MCP):
как понять концепцию и построить свой MCP-сервер в интерактивном формате.
📚Репозиторий с гайдом (https://github.com/microsoft/lets-learn-mcp-python)
#python #MCP #tutorial #developers
@python_be1
This media is not supported in your browser
VIEW IN TELEGRAM
⚡️TinyDB: локальная база без сервера и без SQL #python #sql
Нужна лёгкая «база» для скрипта или прототипа?
Возьмите тайни-ди-би: хранение в одном джэйсон-файле, питон-апи как у словаря, ноль настройки. С кеширующим мидлвэйром запись становится реже и быстрее. Важно: это не прод-замена постгресу — идеально для клай, тестовых тулов и быстрых демо.
pip install tinydb
Когда нужен быстрый стейт «просто в питоне», без сервера и без эс-кью-эл !!!
@python_be1
Нужна лёгкая «база» для скрипта или прототипа?
Возьмите тайни-ди-би: хранение в одном джэйсон-файле, питон-апи как у словаря, ноль настройки. С кеширующим мидлвэйром запись становится реже и быстрее. Важно: это не прод-замена постгресу — идеально для клай, тестовых тулов и быстрых демо.
pip install tinydb
Когда нужен быстрый стейт «просто в питоне», без сервера и без эс-кью-эл !!!
@python_be1
This media is not supported in your browser
VIEW IN TELEGRAM
🔥 Не путай is и == в #Python
В Python есть тонкий момент: оператор is и оператор == не одно и то же.
- is проверяет идентичность объектов (указывают ли они на одну и ту же область памяти).
- == проверяет равенство значений.
Малоизвестный кейс: маленькие числа и короткие строки в Пайтон кешируются. Поэтому a is b иногда случайно даёт True — и это вводит в заблуждение. Но с большими числами и динамически созданными строками поведение будет другим.
Лучше всегда использовать ==, когда нужно сравнение по значению.
#Python, #программирование, #кодинг, #разработка, #собеседование, #интервью, #PythonJobs, #DataScience, #MachineLearning, #AI, #backend, #webdev, #Django, #Flask, #FastAPI, #API, #REST, #asyncio, #многопоточность, #многозадачность, #библиотеки, #NumPy, #Pandas, #TensorFlow, #PyTorch, #SQL, #ORM, #SQLAlchemy, #тестирование, #unittest, #pytest, #TDD, #алгоритмы, #структурыданных, #OOP,
@python_be1
В Python есть тонкий момент: оператор is и оператор == не одно и то же.
- is проверяет идентичность объектов (указывают ли они на одну и ту же область памяти).
- == проверяет равенство значений.
Малоизвестный кейс: маленькие числа и короткие строки в Пайтон кешируются. Поэтому a is b иногда случайно даёт True — и это вводит в заблуждение. Но с большими числами и динамически созданными строками поведение будет другим.
Лучше всегда использовать ==, когда нужно сравнение по значению.
#Python, #программирование, #кодинг, #разработка, #собеседование, #интервью, #PythonJobs, #DataScience, #MachineLearning, #AI, #backend, #webdev, #Django, #Flask, #FastAPI, #API, #REST, #asyncio, #многопоточность, #многозадачность, #библиотеки, #NumPy, #Pandas, #TensorFlow, #PyTorch, #SQL, #ORM, #SQLAlchemy, #тестирование, #unittest, #pytest, #TDD, #алгоритмы, #структурыданных, #OOP,
@python_be1
🌍🚀 Многоязычная модель перевода Hunyuan-MT
Hunyuan-MT — это мощная модель перевода, поддерживающая 33 языка, включая редкие языки Китая. Она включает в себя как базовую модель Hunyuan-MT-7B, так и ансамблевую модель Hunyuan-MT-Chimera, обеспечивая высокое качество перевода и выдающиеся результаты на международных конкурсах.
🚀Основные моменты:
- Первое место в 30 из 31 категории на WMT25.
- Лидер по производительности среди моделей аналогичного масштаба.
- Первая открытая ансамблевая модель перевода.
- Комплексная структура обучения для достижения SOTA результатов.
📌 GitHub: https://github.com/Tencent-Hunyuan/Hunyuan-MT
#python
@python_be1
Hunyuan-MT — это мощная модель перевода, поддерживающая 33 языка, включая редкие языки Китая. Она включает в себя как базовую модель Hunyuan-MT-7B, так и ансамблевую модель Hunyuan-MT-Chimera, обеспечивая высокое качество перевода и выдающиеся результаты на международных конкурсах.
🚀Основные моменты:
- Первое место в 30 из 31 категории на WMT25.
- Лидер по производительности среди моделей аналогичного масштаба.
- Первая открытая ансамблевая модель перевода.
- Комплексная структура обучения для достижения SOTA результатов.
📌 GitHub: https://github.com/Tencent-Hunyuan/Hunyuan-MT
#python
@python_be1
GitHub
GitHub - Tencent-Hunyuan/Hunyuan-MT
Contribute to Tencent-Hunyuan/Hunyuan-MT development by creating an account on GitHub.
This media is not supported in your browser
VIEW IN TELEGRAM
🔥 Python трюк: динамическое добавление методов в класс
Мало кто знает, но в Python можно на лету добавлять методы в уже созданный класс. Это удобно для плагинов, тестов или динамических API.
⚡ Приём называется monkey patching.
Это мощный инструмент — но им надо пользоваться аккуратно, чтобы не сломать читаемость кода.
#Python, #программирование, #кодинг, #разработка, #собеседование, #интервью, #PythonJobs, #DataScience, #MachineLearning, #AI, #backend, #webdev, #Django, #Flask, #FastAPI, #API, #REST, #asyncio, #многопоточность, #многозадачность, #библиотеки, #NumPy, #Pandas, #TensorFlow, #PyTorch, #SQL, #ORM, #SQLAlchemy, #тестирование, #unittest, #pytest, #TDD, #алгоритмы, #структурыданных, #OOP, #паттерныпроектирования, #чистыйкод, #DevOps, #CICD, #Docker, #Kubernetes, #AWS, #Azure, #GCP, #скрипты, #автоматизация, #BigData, #анализданных,
@python_be1
Мало кто знает, но в Python можно на лету добавлять методы в уже созданный класс. Это удобно для плагинов, тестов или динамических API.
⚡ Приём называется monkey patching.
Это мощный инструмент — но им надо пользоваться аккуратно, чтобы не сломать читаемость кода.
#Python, #программирование, #кодинг, #разработка, #собеседование, #интервью, #PythonJobs, #DataScience, #MachineLearning, #AI, #backend, #webdev, #Django, #Flask, #FastAPI, #API, #REST, #asyncio, #многопоточность, #многозадачность, #библиотеки, #NumPy, #Pandas, #TensorFlow, #PyTorch, #SQL, #ORM, #SQLAlchemy, #тестирование, #unittest, #pytest, #TDD, #алгоритмы, #структурыданных, #OOP, #паттерныпроектирования, #чистыйкод, #DevOps, #CICD, #Docker, #Kubernetes, #AWS, #Azure, #GCP, #скрипты, #автоматизация, #BigData, #анализданных,
@python_be1
🚀 Обучение LLM-агентов для многоповоротного принятия решений
AgentGym-RL — это фреймворк для тренировки LLM-агентов, способных принимать решения в сложных многоповоротных сценариях с использованием методов усиленного обучения. Он предлагает разнообразные реальные сценарии и поддерживает популярные алгоритмы RL, улучшая производительность моделей до уровня коммерческих решений.
🚀 Основные моменты:
- Модульная система для гибкости и расширяемости.
- Поддержка различных реальных сред, включая веб-навигацию и глубокий поиск.
- Метод ScalingInter-RL для стабильного обучения агентов.
- Интерактивный интерфейс для визуализации взаимодействий.
📌 GitHub: https://github.com/WooooDyy/AgentGym-RL
#python
@python_be1
AgentGym-RL — это фреймворк для тренировки LLM-агентов, способных принимать решения в сложных многоповоротных сценариях с использованием методов усиленного обучения. Он предлагает разнообразные реальные сценарии и поддерживает популярные алгоритмы RL, улучшая производительность моделей до уровня коммерческих решений.
🚀 Основные моменты:
- Модульная система для гибкости и расширяемости.
- Поддержка различных реальных сред, включая веб-навигацию и глубокий поиск.
- Метод ScalingInter-RL для стабильного обучения агентов.
- Интерактивный интерфейс для визуализации взаимодействий.
📌 GitHub: https://github.com/WooooDyy/AgentGym-RL
#python
@python_be1
🖥 Python: Совет по работе с серверами
Полезный совет Python-разработчиков, работающих с серверами
Когда вы управляете удалёнными серверами, часто приходится подключаться по SSH, выполнять команды и собирать логи. Банальные вызовы через subprocess или ручное использование ssh не дают гибкости. Куда интереснее использовать программируемое SSH-взаимодействие прямо из Python, с динамическим выполнением команд, обработкой stdout/stderr и тонкой настройкой соединения.
Трюк в том, чтобы работать с сервером так, будто вы пишете локальный скрипт: подключение по ключу, выполнение последовательности команд, сбор результатов и даже поднятие туннелей. Для этого можно использовать библиотеку paramiko. Её «фишка» — вы получаете прямой объект-канал для команд, что позволяет реализовать, например, автоматическое деплой-меню или собственный health-checker для кластера.
#Python #Программирование #Разработка #Python3 #Backend #Frontend #DataScience #MachineLearning #ArtificialIntelligence #DeepLearning #WebDevelopment #Django #Flask #FastAPI #API #REST #Scripting #Automation #DevOps #DataAnalysis #Pandas #NumPy #Matplotlib #Seaborn #Jupyter #BigData #CloudComputing #AWS #Azure #GoogleCloud #Testing #PyTest #UnitTest #CI_CD #Databases #SQL #NoSQL #MongoDB #PostgreSQL #SQLite #OpenSource #SoftwareEngineering #Coding #CleanCode #PythonLibraries #TensorFlow #PyTorch #ScikitLearn #NLP #ComputerVision
@python_be1
Полезный совет Python-разработчиков, работающих с серверами
Когда вы управляете удалёнными серверами, часто приходится подключаться по SSH, выполнять команды и собирать логи. Банальные вызовы через subprocess или ручное использование ssh не дают гибкости. Куда интереснее использовать программируемое SSH-взаимодействие прямо из Python, с динамическим выполнением команд, обработкой stdout/stderr и тонкой настройкой соединения.
Трюк в том, чтобы работать с сервером так, будто вы пишете локальный скрипт: подключение по ключу, выполнение последовательности команд, сбор результатов и даже поднятие туннелей. Для этого можно использовать библиотеку paramiko. Её «фишка» — вы получаете прямой объект-канал для команд, что позволяет реализовать, например, автоматическое деплой-меню или собственный health-checker для кластера.
#Python #Программирование #Разработка #Python3 #Backend #Frontend #DataScience #MachineLearning #ArtificialIntelligence #DeepLearning #WebDevelopment #Django #Flask #FastAPI #API #REST #Scripting #Automation #DevOps #DataAnalysis #Pandas #NumPy #Matplotlib #Seaborn #Jupyter #BigData #CloudComputing #AWS #Azure #GoogleCloud #Testing #PyTest #UnitTest #CI_CD #Databases #SQL #NoSQL #MongoDB #PostgreSQL #SQLite #OpenSource #SoftwareEngineering #Coding #CleanCode #PythonLibraries #TensorFlow #PyTorch #ScikitLearn #NLP #ComputerVision
@python_be1
This media is not supported in your browser
VIEW IN TELEGRAM
🖥 Полезный совет по ускорению Python-кода
Многие считают, что list comprehension всегда оптимален. Но при больших объёмах данных связка map + filter может быть быстрее: она выполняется на уровне C и не создаёт лишних промежуточных структур.
Когда нужно одновременно фильтровать и преобразовывать элементы, map + filter часто выигрывает по скорости.
#Python, #программирование, #кодинг, #разработка, #собеседование, #интервью, #PythonJobs, #DataScience, #MachineLearning, #AI, #backend, #webdev, #Django, #Flask, #FastAPI, #API, #REST, #asyncio, #многопоточность, #многозадачность, #библиотеки, #NumPy, #Pandas, #TensorFlow, #PyTorch, #SQL, #ORM, #SQLAlchemy, #тестирование, #unittest, #pytest, #TDD, #алгоритмы, #структурыданных, #OOP,
@python_be1
Многие считают, что list comprehension всегда оптимален. Но при больших объёмах данных связка map + filter может быть быстрее: она выполняется на уровне C и не создаёт лишних промежуточных структур.
Когда нужно одновременно фильтровать и преобразовывать элементы, map + filter часто выигрывает по скорости.
#Python, #программирование, #кодинг, #разработка, #собеседование, #интервью, #PythonJobs, #DataScience, #MachineLearning, #AI, #backend, #webdev, #Django, #Flask, #FastAPI, #API, #REST, #asyncio, #многопоточность, #многозадачность, #библиотеки, #NumPy, #Pandas, #TensorFlow, #PyTorch, #SQL, #ORM, #SQLAlchemy, #тестирование, #unittest, #pytest, #TDD, #алгоритмы, #структурыданных, #OOP,
@python_be1
This media is not supported in your browser
VIEW IN TELEGRAM
🔥 Python: склейка TCP-пакетов
Когда отправляешь ты в сокет много маленьких кусочков - уходит куча мелких TCP-пакетов это работает медленнее и с задержками.
Решение: склеивай данные и отправляй одним блоком.
На Linux можно сказать ядру «подожди, я ещё допишу» команда MSG MORE.
Итог: меньше пакетов, быстрее отклик.
#Python #Программирование #Разработка #Python3 #Backend #Frontend #DataScience #MachineLearning #ArtificialIntelligence #DeepLearning #WebDevelopment #Django #Flask #FastAPI #API #REST #Scripting #Automation #DevOps #DataAnalysis #Pandas #NumPy #Matplotlib #Seaborn #Jupyter #BigData #CloudComputing #AWS #Azure #GoogleCloud #Testing #PyTest #UnitTest #CI_CD #Databases #SQL #NoSQL #MongoDB #PostgreSQL #SQLite #OpenSource
@python_be1
Когда отправляешь ты в сокет много маленьких кусочков - уходит куча мелких TCP-пакетов это работает медленнее и с задержками.
Решение: склеивай данные и отправляй одним блоком.
На Linux можно сказать ядру «подожди, я ещё допишу» команда MSG MORE.
Итог: меньше пакетов, быстрее отклик.
#Python #Программирование #Разработка #Python3 #Backend #Frontend #DataScience #MachineLearning #ArtificialIntelligence #DeepLearning #WebDevelopment #Django #Flask #FastAPI #API #REST #Scripting #Automation #DevOps #DataAnalysis #Pandas #NumPy #Matplotlib #Seaborn #Jupyter #BigData #CloudComputing #AWS #Azure #GoogleCloud #Testing #PyTest #UnitTest #CI_CD #Databases #SQL #NoSQL #MongoDB #PostgreSQL #SQLite #OpenSource
@python_be1