В Python 3.15 появится полноценный иммутабельный словарь.
В модуль builtins добавляется новый публичный неизменяемый тип frozendict.
Ожидается, что
Зачем это вообще нужно:
▪️ Хочешь использовать мапу как ключ в другом
▪️
▪️ Дефолты в аргументах функций: вместо “мутабельного дефолта” можно давать
Как выглядит по API:
▪️ Конструктор “как у dict”:
▪️ Порядок вставки сохраняется (как в обычном
▪️ Хэш не зависит от порядка элементов (логика через
▪️ Есть объединение через
▪️
Важный момент:
И бонус для stdlib: авторы наметили места, где можно заменить константные/публичные мапы на
👉 @PythonPortal
В модуль builtins добавляется новый публичный неизменяемый тип frozendict.
Ожидается, что
frozendict будет “safe by design”, потому что он предотвращает любые непреднамеренные изменения. Это полезно не только для стандартной библиотеки CPython, но и для сторонних мейнтейнеров: можно опираться на надежный неизменяемый тип словаря.Зачем это вообще нужно:
dict или засунуть в set? Обычный dict нельзя, а frozendict можно (если значения тоже хэшируемые). @functools.lru_cache() и аргументы-словари: с dict будет сложно, с frozendict нормально. frozendict(...) и не ловить сюрпризы. Как выглядит по API:
frozendict(), frozendict(**kwargs), frozendict(mapping) или iterable пар, плюс можно смешивать с **kwargs. dict). frozenset(items)), и сравнение тоже по содержимому, а не по порядку. | и “обновление” |= (но |= не мутирует объект, а создает новый). .copy() в CPython по сути возвращает тот же объект (shallow), а если надо глубоко, то copy.deepcopy(). Важный момент:
frozendict НЕ наследуется от dict. Это специально, чтобы нельзя было обойти “неизменяемость” вызовом dict.__setitem__ и подобных трюков. И бонус для stdlib: авторы наметили места, где можно заменить константные/публичные мапы на
frozendict (в том числе там, где сейчас MappingProxyType). Please open Telegram to view this post
VIEW IN TELEGRAM
Python Enhancement Proposals (PEPs)
PEP 814 – Add frozendict built-in type | peps.python.org
A new public immutable type frozendict is added to the builtins module.
👍13❤5
Разраб придумал гениальную капчу против ИИ-агентов: чтобы записаться к нему на созвон, нужно 10 раз громко сказать «NIGGA».
👉 @PythonPortal
Please open Telegram to view this post
VIEW IN TELEGRAM
😁40🤣18🤯3🔥1
Посмотрим как ты знаешь классы в Python 🤩
Вопрос по Python:
Какой будет вывод у этого кода и почему?
👉 @PythonPortal
Вопрос по Python:
Какой будет вывод у этого кода и почему?
Please open Telegram to view this post
VIEW IN TELEGRAM
❤15👍11🤔1
This media is not supported in your browser
VIEW IN TELEGRAM
Этот тул умеет скачивать буквально что угодно по ссылке
100% бесплатно. опенсорс. без рекламы.
https://cobalt.tools/
👉 @PythonPortal
100% бесплатно. опенсорс. без рекламы.
https://cobalt.tools/
Please open Telegram to view this post
VIEW IN TELEGRAM
🤯6❤1👍1
Please open Telegram to view this post
VIEW IN TELEGRAM
😁29🔥6
This media is not supported in your browser
VIEW IN TELEGRAM
Делюсь этим Python-скриптом под OSINT: это простая, но полезная штука для расследований по возможным группам киберпреступности, потому что она позволяет в реальном времени логировать статусы присутствия в Telegram. Мониторинг определяет такие состояния:
- В СЕТИ
- БЫЛ(А)
- БЫЛ(А) НЕДАВНО
- БЫЛ(А) НА ЭТОЙ НЕДЕЛЕ
- БЫЛ(А) В ЭТОМ МЕСЯЦЕ
- БЫЛ(А) ОЧЕНЬ ДАВНО
- СТАТУС НЕИЗВЕСТЕН
Хотя это только видимые метаданные, анализ временных паттернов может помочь заметить синхронные всплески активности, возможные смены между аккаунтами, повторное использование профилей или профили, которые выглядят разными, но ведут себя синхронно.
Бот может работать по запросу (через кнопку проверки), но его также можно доработать под мониторинг изменений в реальном времени, логирование переходов статусов и авто-алерты, когда аккаунт становится В СЕТИ или меняет паттерн активности. Это позволяет заранее видеть операционные пики, выявлять неактивные или приманочные аккаунты и усиливать стратегический анализ, строго в рамках закона и для легитимных целей исследования.
👉 @PythonPortal
- В СЕТИ
- БЫЛ(А)
- БЫЛ(А) НЕДАВНО
- БЫЛ(А) НА ЭТОЙ НЕДЕЛЕ
- БЫЛ(А) В ЭТОМ МЕСЯЦЕ
- БЫЛ(А) ОЧЕНЬ ДАВНО
- СТАТУС НЕИЗВЕСТЕН
Хотя это только видимые метаданные, анализ временных паттернов может помочь заметить синхронные всплески активности, возможные смены между аккаунтами, повторное использование профилей или профили, которые выглядят разными, но ведут себя синхронно.
Бот может работать по запросу (через кнопку проверки), но его также можно доработать под мониторинг изменений в реальном времени, логирование переходов статусов и авто-алерты, когда аккаунт становится В СЕТИ или меняет паттерн активности. Это позволяет заранее видеть операционные пики, выявлять неактивные или приманочные аккаунты и усиливать стратегический анализ, строго в рамках закона и для легитимных целей исследования.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍10🔥4❤1