Python Portal
Всё самое интересное из мира Python Сотрудничество, реклама: @devmangx Менеджер: @Spiral_Yuri РКН: https://clck.ru/3GMMF6
Показати більше📈 Аналітичний огляд Telegram-каналу Python Portal
Канал Python Portal (@pythonportal) у мовному сегменті Російська є активним учасником. На даний момент спільнота об'єднує 52 335 підписників, посідаючи 2 560 місце в категорії Технології та додатки та 11 934 місце у регіоні Росія.
📊 Показники аудиторії та динаміка
З моменту свого створення невідомо, проект продемонстрував стрімке зростання, зібравши аудиторію у 52 335 підписників.
За останніми даними від 13 червня, 2026, канал демонструє стабільну активність. Хоча за останні 30 днів спостерігається зміна кількості учасників на -821, а за останні 24 години на -28, загальне охоплення залишається високим.
- Статус верифікації: Не верифікований
- Рівень залученості (ER): Середній показник залученості аудиторії становить 9.36%. Протягом перших 24 годин після публікації контент зазвичай збирає 5.67% реакцій від загальної кількості підписників.
- Охоплення публікацій: В середньому кожен допис отримує 4 902 переглядів. Протягом першої доби публікація в середньому набирає 2 970 переглядів.
- Реакції та взаємодія: Аудиторія активно підтримує контент: середня кількість реакцій на один пост – 26.
- Тематичні інтереси: Контент зосереджений навколо ключових тем, таких як строка, none, true, модуль, peter.
📝 Опис та контентна політика
Автор описує ресурс як майданчик для висловлення суб'єктивної думки:
“Всё самое интересное из мира Python
Сотрудничество, реклама: @devmangx
Менеджер: @Spiral_Yuri
РКН: https://clck.ru/3GMMF6”
Завдяки високій частоті оновлень (останні дані отримано 14 червня, 2026), канал підтримує актуальність та високий рівень охоплення публікацій. Аналітика показує, що аудиторія активно взаємодіє з контентом, що робить його важливою точкою впливу в категорії Технології та додатки.
«В Pandas ты учишься ремеслу. В PySpark — масштабированию.»👉 @PythonPortal
@observe, чтобы трассировать отдельные компоненты (инструменты, ретриверы, генераторы)
– Привязывай метрики к каждому из компонентов
– Получай визуальный разбор — что работает, а что ломается
И всё. Переписывать существующий код не нужно. 😄
Пример есть выше для RAG-приложения.
Deepeval — полностью open-source, уже 8500+ звёзд на GitHub. Можно легко задеплоить у себя. Все данные останутся под твоим контролем.
👉 @PythonPortaldecimal_number = 10
binary_number = bin(decimal_number)
print(binary_number)
# Вывод: '0b1010'
🔹Из двоичной в десятичную
binary_number = '1010'
decimal_number = int(binary_number, 2)
print(decimal_number)
# Вывод: 10
🔹Из десятичной в восьмеричную
decimal_number = 10
octal_number = oct(decimal_number)
print(octal_number)
# Вывод: '0o12'
🔹Из восьмеричной в десятичную
octal_number = '12'
decimal_number = int(octal_number, 8)
print(decimal_number)
# Вывод: 10
🔹Из десятичной в шестнадцатеричную
decimal_number = 10
hex_number = hex(decimal_number)
print(hex_number)
# Вывод: '0xa'
🔹Из шестнадцатеричной в десятичную
hex_number = 'a'
decimal_number = int(hex_number, 16)
print(decimal_number)
# Вывод: 10
👉 @PythonPortal__init__() конструктором, но на самом деле это не так.
Настоящий конструктор в Python — это метод __new__(). Давайте разберёмся, как это доказать, на небольшом примере.
Сначала добавим несколько print-вызовов в метод __init__(), чтобы понять, что происходит при создании экземпляра класса: (2 фото)
Теперь добавим метод __new__() и посмотрим, вызывается ли __init__() до или после __new__(). (3 фото)
Если запустить этот код, станет видно, что первым вызывается именно метод __new__()
Хочу отметить, что в большинстве случаев вам не придётся использовать метод __new__() в своём коде. На практике он применяется почти исключительно в метапрограммировании, фабричных функциях и при работе с API — по крайней мере, из того, что мне доводилось видеть.
Так что продолжайте спокойно использовать проверенный метод __init__() — он по-прежнему отлично справляется со своей задачей 😄
👉 @PythonPortalinit, add, commit, log, checkout, status и другие — при этом всё остаётся совместимым с настоящим Git
Git кажется сложным, но его ядро на удивление простое. Проект wyag позволяет «разобрать его на атомы» и понять фундаментальные концепции через код 😡
👉 @PythonPortalitertools.zip_longest() вместо zip(), чтобы все элементы были объединены в пары.
zip() объединяет элементы, пока один из итерируемых не закончится:
>>> list(zip(letters, numbers))
[('a', 1), ('b', 2)]
zip_longest() продолжает объединение до конца самого длинного итерируемого объекта:
>>> list(zip_longest(letters, numbers))
[('a', 1), ('b', 2), ('c', None)]
fillvalue позволяет указать значение-заполнитель для отсутствующих элементов:
>>> list(zip_longest(letters, numbers, fillvalue='N/A'))
[('a', 1), ('b', 2), ('c', 'N/A')]
Используй zip_longest, когда важно сохранить все данные, даже при разной длине итерируемых объектов 🤵
👉 @PythonPortallocals()
Встроенная функция locals() возвращает словарь, представляющий текущую локальную таблицу символов.
Таблица символов — это структура, в которой Python хранит все имена (переменные, функции, классы и т.д.), доступные в определённой области видимости.
Когда locals() вызывается внутри функции, она возвращает словарь со всеми локальными переменными, определёнными в рамках этой функции.
В примере переменные z и x определены локально внутри функции. Переменная y = 20 является глобальной и не относится к области видимости my_func(). Поэтому locals() внутри my_func не включает y
👉 @PythonPortal__init__(self) – Инициализация нового объекта
__str__(self) – Строковое представление
__repr__(self) – Представление для отладки
__len__(self) – Длина объекта
__getitem__(self, key) – Доступ к элементу по индексу/ключу
__setitem__(self, key, value) – Установка значения по индексу/ключу
__delitem__(self, key) – Удаление элемента по ключу
__eq__(self, other) – Проверка на равенство
__add__(self, other) – Поведение оператора сложения +
__call__(self, ...) – Делает экземпляр вызываемым как функция
👉 @PythonPortalwith гарантирует, что инициализация и очистка ресурса будут выполнены автоматически, даже если в блоке возникнет исключение. Это делает код чище и надёжнее.
Вместо того чтобы вручную замерять время до и после блока кода, можно использовать контекстный менеджер — это чистое и питоничное решение.
Обычно контекстный менеджер реализуется как класс с методами __enter__ и __exit__
Но есть более лаконичный способ — использовать декоратор @contextmanager из модуля contextlib, чтобы писать генераторные менеджеры без лишнего шаблонного кода.
Пример как использовать контекстный менеджер как таймер прикрепил ✌️
👉 @PythonPortalpip install auto-py-to-exe
👉 @PythonPortaldeque.maxlen
Знаете ли вы, что можно задать максимальную длину списка, используя deque из модуля collections?
Класс deque (двусторонняя очередь) из модуля collections поддерживает параметр maxlen, который устанавливает максимальный размер очереди. Когда очередь достигает этого размера, добавление новых элементов автоматически удаляет элементы с противоположного конца, реализуя поведение "первым пришёл — первым ушёл" (FIFO) с ограничением по размеру.
В приведённом примере deque имеет максимальную длину 3. При добавлении значения 4 удаляется 1, что делает такую структуру идеальной для реализации скользящего окна последних трёх элементов 📖
👉 @PythonPortalrepo.new в адресной строке браузера — и сразу откроется страница создания нового репозитория на GitHub.
Такой простой способ сэкономить время 🤯
👉 @PythonPortalСтань олдом этого канала 🔥Вступить в CodeGuard - t.me/codeguard
Вже доступно! Дослідження Telegram за 2025 — головні інсайти року 
