Python Portal
Всё самое интересное из мира Python Сотрудничество, реклама: @devmangx Менеджер: @Spiral_Yuri РКН: https://clck.ru/3GMMF6
إظهار المزيد📈 نظرة تحليلية على قناة تيليجرام Python Portal
تُعد قناة Python Portal (@pythonportal) في القطاع اللغوي الروسية لاعباً نشطاً. يضم المجتمع حالياً 52 440 مشتركاً، محتلاً المرتبة 2 547 في فئة التكنولوجيات والتطبيقات والمرتبة 11 911 في منطقة روسيا.
📊 مؤشرات الجمهور والحراك
منذ تأسيسه في невідомо، حقق المشروع نمواً سريعاً وجمع 52 440 مشتركاً.
بحسب آخر البيانات بتاريخ 10 يونيو, 2026، تحافظ القناة على نشاط مستقر. خلال آخر 30 يوماً تغيّر عدد الأعضاء بمقدار -783، وفي آخر 24 ساعة بمقدار -20، مع بقاء الوصول العام مرتفعاً.
- حالة التحقق: غير موثّقة
- معدل التفاعل (ER): يبلغ متوسط تفاعل الجمهور 9.32%. وخلال أول 24 ساعة من النشر يحصد المحتوى عادةً 5.78% من ردود الفعل نسبةً إلى إجمالي المشتركين.
- وصول المنشورات: يحصل كل منشور على متوسط 4 892 مشاهدة. وخلال اليوم الأول يجمع عادةً 3 033 مشاهدة.
- التفاعلات والاستجابة: يتفاعل الجمهور بانتظام؛ متوسط التفاعلات لكل منشور يبلغ 25.
- الاهتمامات الموضوعية: يركز المحتوى على مواضيع رئيسية مثل строка, none, true, модуль, peter.
📝 الوصف وسياسة المحتوى
يصف المؤلف القناة بأنها مساحة للتعبير عن الآراء الذاتية:
“Всё самое интересное из мира Python
Сотрудничество, реклама: @devmangx
Менеджер: @Spiral_Yuri
РКН: https://clck.ru/3GMMF6”
بفضل وتيرة التحديث المرتفعة (أحدث البيانات بتاريخ 11 يونيو, 2026) تحافظ القناة على حداثتها ومستوى وصول مرتفع. وتُظهر التحليلات تفاعلاً نشطاً من الجمهور، ما يجعلها نقطة تأثير مهمة ضمن فئة التكنولوجيات والتطبيقات.
items = [1, 2, 2, 3, 4]
for item in items:
if item == 2:
items.remove(item)
print(items)
# Output: [1, 2, 3, 4]
Здесь мы используем remove(), чтобы удалить все двойки из списка. Но если посмотреть на вывод, одна 2 все равно осталась. Почему так происходит: когда ты удаляешь элемент из списка, все элементы справа сдвигаются влево. А цикл продолжает идти дальше. В итоге происходит вот что: находится и удаляется первая 2. Вторая 2 сдвигается на ее место. Цикл переходит к следующему индексу и пропускает эту 2.
Лучший способ сделать это: итерироваться по копии:
for item in items[:]:
if item == 2:
items.remove(item)
print(items)
# Output: [1, 3, 4]
Когда ты проходишь по копии (поверхностной копии), индексы в исходной копии не меняются.
Еще лучше использовать list comprehension:
items = [x for x in items if x != 2]
Никогда, ни при каких условиях не модифицируй список (или любую коллекцию) прямо во время итерации по нему. Итератор плохо переносит структурные изменения: он может пропускать элементы, обрабатывать один и тот же элемент дважды или (в некоторых случаях, например со словарями) выбрасывать RuntimeError. Это плохая практика.
👉 @PythonPortalprint по горизонтали
Когда вы проходите циклом по итерируемому объекту, функция print печатает каждый элемент с новой строки. Это потому, что у print есть параметр end. По умолчанию значение этого параметра содержит символ перевода строки (end="\n"). Чтобы печатать в одну строку, нужно убрать перевод строки и заменить его на пустую строку (end="").
В примере ниже обратите внимание на пробел между кавычками (" "): он нужен, чтобы числа печатались с пробелами между ними. Если убрать пробел (""), числа выведутся слитно, вот так: 1367. Вот код, который это показывает:
In [1]: my_list = [1, 3, 6, 7]
for number in my_list:
print(number, end=" ")
// 1 3 6 7
У print есть еще один параметр: sep. Мы используем sep, чтобы задать, чем разделять выводимые значения. Ниже в качестве разделителя используется символ /:
In [2]: print('12', '12', '1990', sep='/')
// 12/12/1990
👉 @PythonPortal= NULL никогда не бывает true. Используй IS NULL / IS NOT NULL (трехзначная логика: true, false, unknown).
2. NOT IN (...) + один NULL в списке может вернуть ноль строк. Чаще безопаснее NOT EXISTS.
3. LEFT JOIN + фильтр в WHERE превращается в INNER JOIN. Фильтры по джойну клади в ON.
4. COUNT(col) пропускает NULL, а COUNT(*) нет. Из-за этого метрики потом “магически” не сходятся.
5. NULL ломает конкатенацию и сравнения. Используй COALESCE осознанно.
👉 @PythonPortalfrozendict будет “safe by design”, потому что он предотвращает любые непреднамеренные изменения. Это полезно не только для стандартной библиотеки CPython, но и для сторонних мейнтейнеров: можно опираться на надежный неизменяемый тип словаря.
Зачем это вообще нужно:
▪️Хочешь использовать мапу как ключ в другом dict или засунуть в set? Обычный dict нельзя, а frozendict можно (если значения тоже хэшируемые).
▪️ @functools.lru_cache() и аргументы-словари: с dict будет сложно, с frozendict нормально.
▪️Дефолты в аргументах функций: вместо “мутабельного дефолта” можно давать frozendict(...) и не ловить сюрпризы.
Как выглядит по API:
▪️Конструктор “как у dict”: frozendict(), frozendict(**kwargs), frozendict(mapping) или iterable пар, плюс можно смешивать с **kwargs.
▪️Порядок вставки сохраняется (как в обычном dict).
▪️Хэш не зависит от порядка элементов (логика через frozenset(items)), и сравнение тоже по содержимому, а не по порядку.
▪️Есть объединение через | и “обновление” |= (но |= не мутирует объект, а создает новый).
▪️.copy() в CPython по сути возвращает тот же объект (shallow), а если надо глубоко, то copy.deepcopy().
Важный момент: frozendict НЕ наследуется от dict. Это специально, чтобы нельзя было обойти “неизменяемость” вызовом dict.__setitem__ и подобных трюков.
И бонус для stdlib: авторы наметили места, где можно заменить константные/публичные мапы на frozendict (в том числе там, где сейчас MappingProxyType).
👉 @PythonPortalabliteration: находят “направление отказа” внутри весов модели, а затем математически СТИРАЮТ его.
Проблема? Делать это руками нормально было медленно, нестабильно по результатам и требовало глубоких знаний в ML.
HERETIC автоматизирует ВЕСЬ процесс.
Ты даешь ему имя модели, он прогоняет вредные и безвредные промпты, мапит, где именно “живёт отказ” в residual stream, а потом через байесовскую оптимизацию подбирает лучшие параметры “удаления”.
Старые инструменты использовали ФИКСИРОВАННЫЙ вес абляции для всех слоев. HERETIC использует гибкое ядро весов, типа ручки громкости, которая на разной глубине сети может усиливаться или ослабляться.
Плюс он обрабатывает MLP и attention heads ОТДЕЛЬНО. MLP более хрупкие, поэтому для них операция более “щадящая”.
Один тестер прогнал heretic-модель через приватный IQ-тест для LLM, где даже GPT-4 спотыкается.
Идеальный результат.
Другой назвал heretic-вариант gpt-oss 20b ЛУЧШЕЙ “uncensored” моделью, которую он пробовал.
Мы прошли путь от “пожалуйста, джейлбрейкни мою модель 500-словным промптом, который ломается со следующим апдейтом” к “математически удалить цепь отказа за 45 минут, и это НАВСЕГДА”.
Это не “патчится обратно”, это НЕ джейлбрейк: веса ИЗМЕНЕНЫ навсегда.
И поскольку HERETIC оптимизирует минимальную потерю интеллекта, ты не меняешь capability на свободу… ты получаешь И ТО, И ДРУГОЕ
“uncensored”-версия больше не “тупой кузен”, это та же модель, только без намордника.
👉 @PythonPortal
متاح الآن! بحث تيليغرام 2025 — أهم رؤى العام 
