Python Portal
Всё самое интересное из мира Python Сотрудничество, реклама: @devmangx Менеджер: @Spiral_Yuri РКН: https://clck.ru/3GMMF6
نمایش بیشتر📈 تحلیل کانال تلگرام Python Portal
کانال Python Portal (@pythonportal) در بخش زبانی روسی بازیگری فعال است. در حال حاضر جامعه شامل 50 893 مشترک است و جایگاه 2 538 را در دسته فناوری و برنامهها و رتبه 12 054 را در منطقه روسيا دارد.
📊 شاخصهای مخاطب و پویایی
از زمان ایجاد در невідомо، پروژه رشد سریعی داشته و 50 893 مشترک جذب کرده است.
بر اساس آخرین دادهها در تاریخ 31 اوت, 2026، کانال فعالیت پایداری دارد. در ۳۰ روز گذشته تغییر اعضا برابر -435 و در ۲۴ ساعت گذشته برابر -23 بوده و همچنان دسترسی گستردهای حفظ شده است.
- وضعیت تأیید: تأیید نشده
- نرخ تعامل (ER): میانگین تعامل مخاطب 9.33% است و در ۲۴ ساعت نخست پس از انتشار، محتوا معمولاً 4.71% واکنش نسبت به کل مشترکان کسب میکند.
- دسترسی پستها: هر پست به طور میانگین 4 751 بازدید دریافت میکند. در اولین روز معمولاً 2 396 بازدید جمعآوری میشود.
- واکنشها و تعامل: مخاطبان بهطور فعال حمایت میکنند؛ میانگین واکنش به هر پست 19 است.
- علایق موضوعی: محتوا بر موضوعات کلیدی مانند строка, none, true, модуль, peter تمرکز دارد.
📝 توضیح و سیاست محتوایی
نویسنده این فضا را محل بیان دیدگاههای شخصی توصیف میکند:
“Всё самое интересное из мира Python
Сотрудничество, реклама: @devmangx
Менеджер: @Spiral_Yuri
РКН: https://clck.ru/3GMMF6”
به لطف بهروزرسانیهای پرتکرار (آخرین داده در تاریخ 01 سپتامبر, 2026)، کانال همواره بهروز و دارای دسترسی بالاست. تحلیلها نشان میدهد مخاطبان بهطور فعال با محتوا تعامل دارند و آن را به نقطه اثرگذاری مهم در دسته فناوری و برنامهها تبدیل کردهاند.
@pytest.mark.skipif, чтобы условно пропускать тесты в зависимости от определённых условий — например, платформы, наличия зависимостей или значений переменных окружения
Декоратор @pytest.mark.skipif(...) указывает Pytest пропустить выполнение теста, если условие истинно.
В примере, тест пропускается, если используется Python версии ниже 3.9, потому что оператор объединения словарей (|) появился только в Python 3.9.
Аргумент reason сообщает причину пропуска, которая отображается в отчёте Pytest.
👉 @PythonPortal«В 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
👉 @PythonPortal