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), канал підтримує актуальність та високий рівень охоплення публікацій. Аналітика показує, що аудиторія активно взаємодіє з контентом, що робить його важливою точкою впливу в категорії Технології та додатки.
ty становится всё лучше
Если ты ссылаешься на символ или модуль, который был добавлен в более новой версии Python, вам сообщат об этом, а также укажут, где и почему была выведена поддерживаемая версия Python 😎
👉 @PythonPortals.remove(4) выбрасывает KeyError, если элемента нет
> s.discard(4) просто молчит и продолжает работу дальше
Оба метода удаляют элементы, но ведут себя по-разному при отсутствии значения.
remove() — строго, discard() — спокойно
Такой подход помогает гибко управлять логикой в зависимости от ситуации:
> нужно жёстко контролировать наличие элемента — используй remove()
> хочешь без лишних исключений — discard() в помощь
Ставь лайк, если разобрался 🚶♀️
👉 @PythonPortal"CodeRabbit" и нажмите Install 😈
👉 @PythonPortal🖱 Просто выбери нужное и получай топовые материалы каждый день!
ElementTree, но в модуле xml есть и другие способы работы с XML
Функция create_xml(filename): создаёт XML-файл с заданным именем.
def create_xml(filename):
Затем создаём элементы:
root = xml.Element("Appointments")
appt = xml.Element("subAppointment")
root.append(appt)
> Appointments — корневой элемент
> subAppointment — дочерний элемент, добавляется к корню
Добавляем вложенный элемент:
begin = xml.SubElement(appt, "begin")
begin.text = "1181251680"
В subAppointment добавляется подэлемент <begin>, содержащий текст
Сериализация и запись в файл:
tree = xml.ElementTree(root)
with open(filename, "wb") as fh:
tree.write(fh)
> Создаётся дерево ElementTree из корня.
> Файл открывается в бинарном режиме записи (wb).
> XML записывается в файл
Запускаем из консоли:
if __name__ == "__main__":
create_xml("appt.xml")
Если скрипт запущен напрямую — вызывается функция create_xml с именем выходного файла "appt.xml"
В результате создаётся XML-файл:
<Appointments>
<subAppointment>
<begin>1181251680</begin>
</subAppointment>
</Appointments>
Готовый и читаемый XML-документ 😈
👉 @PythonPortalmatch case для сопоставления дней недели с задачами. Например, case 'monday' срабатывает, если значение переменной day равно 'monday', и возвращает 'learn Python'.
Подход с match-case более читаемый по сравнению с традиционным if, особенно при работе с большим числом условий
Ставь лайк если это полезно для тебя 😈
👉 @PythonPortalГлава 1: Привет, мир! (тык); Глава 2: Шаблоны (тык); Глава 3: Веб-формы (тык); Глава 4: База данных (тык); Глава 5: Логины пользователей (тык); Глава 6: Страница профиля и аватары (тык); Глава 7: Обработка ошибок (тык); Глава 8: Подписчики (тык); Глава 9: Разбивка на страницы (тык); Глава 10: Поддержка электронной почты (тык); Глава 11: Дизайн приложения (тык); Глава 12: Дата и время (тык); Глава 13: I18n и L10n (тык); Глава 14: Ajax (тык); Глава 15: Улучшенная структура приложения (тык); Глава 16: Полнотекстовый поиск (тык); Глава 17: Развертывание на Linux (тык); Глава 18: Развертывание на Heroku (тык); Глава 19: Развертывание на контейнерах Docker (тык); Глава 20: Немного магии JavaScript (тык); Глава 21: Уведомления пользователей (тык); Глава 22: Фоновые задания (тык); Глава 23: Интерфейсы прикладного программирования (API) (тык).Налетайте ☕️ 👉 @PythonPortal
group3, если нет — в group2, если и там нет — в group1:
age = group3.get(name, group2.get(name, group1.get(name)))
Работает, но нечитаемо и неудобно, особенно при большом количестве словарей.
Лучше используй ChainMap для чистой логики с подстановкой по умолчанию
m = ChainMap(group3, group2, group1)
age = m.get("ana")
Создается объект ChainMap, который объединяет словари по приоритету:
Просто вызываешь m.get(key) — он сам идет по цепочке, пока не найдет ключ
Даже если ключ есть в нескольких словарях, берётся первое вхождение по приоритету
👉 @PythonPortal«Создай ячейку с кодом, который загружает CSV-файл и строит график»И он реально создаст такую ячейку в Jupyter и запустит её Полностью open-source и бесплатен для использования 😎
Counter из модуля collections
Например у нас словарь, где ключ — это ID устройства, а значение — его производитель.
devices_vendors = {
'device001': 'Cisco',
'device002': 'Juniper',
'device003': 'Cisco',
'device004': 'Arista',
'device005': 'Cisco'
}
> Выполняем подсчёт:
vendor_counts = Counter(devices_vendors.values())
Здесь берутся все значения из словаря (.values()), т.е. список вендоров: ['Cisco', 'Juniper', 'Cisco', 'Arista', 'Cisco'], и Counter считает, сколько раз каждый встретился.
> Выводим и получаем:
Counter({'Cisco': 3, 'Juniper': 1, 'Arista': 1})
👉 @PythonPortal
Вже доступно! Дослідження Telegram за 2025 — головні інсайти року 
