IT Дайджест с Новиковым
- Новости IT - Безопасность в сети - Социальная инженерия И мой личный опыт. Ссылка: t.me/itdidgest Сайт: https://www.postgameparty.com/ Сотрудничество: clck.ru/3RF3Vn № 5904649143
Show more📈 Analytical overview of Telegram channel IT Дайджест с Новиковым
Channel IT Дайджест с Новиковым (@itdidgest) in the Russian language segment is an active participant. Currently, the community unites 61 151 subscribers, ranking 2 127 in the Technologies & Applications category and 9 771 in the Russia region.
📊 Audience metrics and dynamics
Since its creation on невідомо, the project has demonstrated rapid growth, gathering an audience of 61 151 subscribers.
According to the latest data from 10 November, 2026, the channel demonstrates stable activity. Although there has been a change in the number of participants by -1 474 over the last 30 days and by -72 over the last 24 hours, overall reach remains high.
- Verification status: Not verified
- Engagement rate (ER): The average audience engagement rate is 14.80%. Within the first 24 hours after publication, content typically collects 11.79% reactions from the total number of subscribers.
- Post reach: On average, each post receives 9 053 views. Within the first day, a publication typically gains 7 216 views.
- Reactions and interaction: The audience actively supports content: the average number of reactions per post is 83.
- Thematic interests: Content is focused on key topics such as deepseek, storage, указатель, concurrency, интерфейс.
📝 Description and content policy
The author describes the resource as a platform for expressing subjective opinions:
“- Новости IT
- Безопасность в сети
- Социальная инженерия
И мой личный опыт.
Ссылка: t.me/itdidgest
Сайт: https://www.postgameparty.com/
Сотрудничество: clck.ru/3RF3Vn
№ 5904649143”
Thanks to the high frequency of updates (latest data received on 11 November, 2026), the channel maintains relevance and a high level of publication reach. Analytics show that the audience actively interacts with content, making it an important point of influence in the Technologies & Applications category.
get у словарей. Его основной плюс заключается в том, что он принимает опциональный аргумент, отвечающий за значение по умолчанию.
Таким образом, если значение по ключу не найдено, то вернется дефолтное значение.
В итоге, мы убираем возможные ошибки в случае, если нужных ключей в словаре нет.
#python #dict
IT Дайджест с Новиковымthis, а вариант перевода Дзена на русском языке здесь.
#python #дзен
IT Дайджест с Новиковымstr.join(), который принимает на вход итерируемый объект, элементами которого также должны быть строки.
Как результат получаем новую строку, которая является объединением всех элементов. При этом они разделены строкой, к которой изначально применялся метод.
Проще говоря, если применить к строке этот метод, то она станет разделителем для элементов в новой строке.
#строки
IT Дайджест с Новиковымmath есть особый объект, который называется NaN (Not a Number).
Эти объекты NaN не уникальны, и даже не равны самим себе, так что вы можете иметь несколько подобных объектов, взятых из нескольких разных источников.
Например можно создать подобный объект, просто передав строку 'nan' во float. Кстати говоря, это значит что вы можете использовать NaN в качестве ключа в словаре (хотя мы и не советуем это делать).
#nan #tips
IT Дайджест с Новиковымpass ничего не происходит, поэтому он может использоваться в качестве некой заглушки в тех местах, где это синтаксически необходимо.
Например, вам надо сделать несколько функций, вы написали def'ы и названия, но сам код еще не успели, однако программу надо запустить и проверить что-то другое. Вот тут и понадобится pass.
Или в конструкции try-except, чтобы просто проигнорировать и никак не обрабатывать ошибку в программе.
#pass
IT Дайджест с Новиковым__get__, __set__ или __delete__. После этого можно создать новый класс и в атрибут этого класса записать объект типа дескриптор.
У данного объекта будет переопределено поведение при доступе к атрибуту (__get__), при присваивании значений (__set__) или при удалении (__delete__).
#классы #дескрипторы
IT Дайджест с НовиковымSalary) является полем другого (Employee). Сложного здесь, как вы видите, ничего нет.
Ассоциированные объекты зачастую могут циклически ссылаться друг на друга, что ломает стандартный механизм сборки мусора.
В таком случае необходимо использовать слабые ссылки из модуля weakref, о котором поговорим позже.
#классы #ооп
IT Дайджест с Новиковымprettytable, который позволяет красиво выводить таблицы.
Итак, имена столбцов задается с помощью атрибута table.field_names. А добавлять строки с данными в таблицу можно методом table.add_row([]), передавая туда список элементов.
Но даже если вы не фанат командной строки, то иногда нужно сохранить отчет о работе вашей программы в текстовый файл. В таком случае можно сохранить саму таблицу, вызвав метод table.get_string().
#трюки #prettytable
IT Дайджест с Новиковымliteral_eval() из модуля ast.
Данная функция поможет безопасно определить литеральный тип, а в случае если был передан не литерал, то выбросит исключение. Это можно использовать для оценки выражений из внешних источников при парсинге файлов, либо пользовательского ввода.
#ast #literal_eval
IT Дайджест с Новиковымast (Abstract Syntax Trees), который предоставляет мощные инструменты для работы с абстрактными синтаксическими деревьями.
Что такое ast?
ast - это модуль Python, который позволяет разбирать и анализировать исходный код на Python, представляя его в виде абстрактного синтаксического дерева (AST). AST представляет собой структурированное представление кода, которое легко интерпретировать и анализировать.
Пример использования модуля ast:
import ast
code = "print('Hello, ast!')"
tree = ast.parse(code)
print(ast.dump(tree))
В данном примере мы использовали функцию ast.parse для разбора строки кода с помощью модуля ast. Функция ast.dump выводит структуру AST в удобочитаемом формате.
Анализ структуры кода:
import ast
code = """
def greet(name):
print(f'Hello, {name}!')
"""
tree = ast.parse(code)
for node in ast.walk(tree):
if isinstance(node, ast.FunctionDef):
print(f"Найдена функция: {node.name}")
elif isinstance(node, ast.Print):
print("Обнаружен оператор печати")
В данном примере мы использовали модуль ast для анализа структуры кода. Функция ast.walk позволяет обойти все узлы AST, а затем мы проверяем их типы для выделения определенных элементов, таких как функции или операторы.
Модуль ast также предоставляет возможности для более сложных операций, таких как изменение кода, создание новых выражений и многое другое.
#python #ast #анализкода
IT Дайджест с Новиковымschedule, который позволяет планировать задачи и повторять их через промежуток времени.
Основной его плюс в том, что он максимально интуитивный и имеет гибкий функционал. А еще schedule не требует внешних зависимостей и сам в целом легковесный.
Здесь на самом деле даже объяснять особо нечего, логика методов в этом пакете понятна на примерах.
#schedule
IT Дайджест с Новиковым@classmethod, а сейчас рассмотрим @staticmethod.
@staticmethod можно воспринимать как метод, который "не знает, к какому классу относится". Он просто получает переданные аргументы, без неявного первого аргумента, и его определение не изменяется через наследование. Еще раз: статические методы прикреплены к классу лишь для удобства — и не могут менять состояние ни класса, ни его экземпляра.
Зачем использовать. Статические методы делают код более читабельным и повторно используемым. Его также удобнее использовать для импорта по сравнению с обычными функциями, поскольку функцию не нужно отдельно импортировать.
В чем же разница?
@classmethod используется в суперклассе для определения того, как метод должен вести себя, когда он вызывается разными дочерними классами.
@staticmethod используется, когда мы хотим вернуть объект, независимо от вызываемого дочернего класса.
IT Дайджест с Новиковымdict.get() — это метод словаря, который используется для получения значения по заданному ключу. Однако, в отличие от обращения к элементу словаря с использованием квадратных скобок (dict[key]), метод get() предоставляет дополнительную возможность задать значение по умолчанию, которое будет возвращено, если ключ не найден в словаре.
Синтаксис метода get() выглядит так:
value = dict.get(key, default)
key: Ключ, по которому производится поиск в словаре.
default (необязательный): Значение, которое будет возвращено, если ключ не найден в словаре. Если default не указан, и ключ не найден, метод вернет None.
#python
IT Дайджест с НовиковымRuff — Чрезвычайно быстрый линтер и форматер кода на Python, написанный на Rust.
Основным преимуществом Ruff является его скорость. Ruff в 10-100 раз быстрее аналогов. В сравнении с flake8, автор заявляет о практически полном совпадении с набором правил инструмента и нативной реализацией популярных плагинов (flake8-bugbear и т.д.). Также Ruff совместим с Black «из коробки».
Ruff может форматировать код. Например, он автоматически удаляет неиспользуемые импорты. Что касается сортировки и группировки строк импорта, то она практически идентична isort.
#python #ruff
IT Дайджест с Новиковымpyenv включают:
- Изменение глобальной версии Python для пользователя;
- Управление версиями Python для индивидуальных проектов;
- Переопределение версии Python через переменную среды;
- Поиск и выполнение команд сразу из нескольких версий Python.
#pyenv
IT Дайджест с Новиковымasyncio - это библиотека, разработанная специально для асинхронного программирования и управления параллельными задачами. Она предоставляет инструменты для эффективной работы с асинхронными операциями, позволяя создавать быстрые и отзывчивые приложения.
Для начала работы с asyncio, вам необходимо импортировать библиотеку, и вы сразу получаете доступ к асинхронным функциям и ключевым словам, таким как async и await. Это делает возможным создание асинхронных функций, которые могут выполняться параллельно, без блокировки основного потока выполнения.
Одной из причин использовать asyncio является его способность эффективно обрабатывать большое количество параллельных задач, что делает его идеальным решением для сетевых операций, ввода/вывода и других операций, которые могут вызвать задержку. Вы можете легко создавать и использовать уже готовые асинхронные HTTP-клиенты (например, с использованием aiohttp и httpx), веб-серверы и веб-скраперы, которые будут быстро обрабатывать большие объемы данных.
Дополнительная информация о asyncio, такая как работа с очередями, ивент-лупы, обработка ошибок и другие возможности, доступна в официальной документации Python.
IT Дайджест с Новиковымtextwrap предоставляет функции для форматирования текста, делая его более читаемым и приятным для восприятия. Одной из таких функций является fill, которая позволяет настраивать ширину текста в символах, обеспечивая корректное перенос слов на новые строки.
Приведем пример использования:
import textwrap
# Исходный текст
original_text = "Мощные функции модуля textwrap обеспечивают красивое форматирование текста, а функция fill позволяет задать ширину текста в символах."
# Задаем ширину текста в 30 символов
width = 30
# Применяем функцию fill для форматирования текста
formatted_text = textwrap.fill(original_text, width)
print(formatted_text)
Результат выполнения кода будет следующим:
Мощные функции модуля textwrap обеспечивают красивое форматирование текста, а функция fill позволяет задать ширину текста в символах.Как видно из примера, слова переносятся на новые строки, при этом ничего не обрывается на полуслове. Это обеспечивает читабельность и красивый внешний вид текста при заданной ширине. #python #textwrapIT Дайджест с Новиковым
