Python Portal
Всё самое интересное из мира Python Сотрудничество, реклама: @devmangx Менеджер: @Spiral_Yuri РКН: https://clck.ru/3GMMF6
إظهار المزيد📈 نظرة تحليلية على قناة تيليجرام Python Portal
تُعد قناة Python Portal (@pythonportal) في القطاع اللغوي الروسية لاعباً نشطاً. يضم المجتمع حالياً 52 329 مشتركاً، محتلاً المرتبة 2 561 في فئة التكنولوجيات والتطبيقات والمرتبة 11 945 في منطقة روسيا.
📊 مؤشرات الجمهور والحراك
منذ تأسيسه في невідомо، حقق المشروع نمواً سريعاً وجمع 52 329 مشتركاً.
بحسب آخر البيانات بتاريخ 14 يونيو, 2026، تحافظ القناة على نشاط مستقر. خلال آخر 30 يوماً تغيّر عدد الأعضاء بمقدار -832، وفي آخر 24 ساعة بمقدار -32، مع بقاء الوصول العام مرتفعاً.
- حالة التحقق: غير موثّقة
- معدل التفاعل (ER): يبلغ متوسط تفاعل الجمهور 9.37%. وخلال أول 24 ساعة من النشر يحصد المحتوى عادةً 5.65% من ردود الفعل نسبةً إلى إجمالي المشتركين.
- وصول المنشورات: يحصل كل منشور على متوسط 4 902 مشاهدة. وخلال اليوم الأول يجمع عادةً 2 957 مشاهدة.
- التفاعلات والاستجابة: يتفاعل الجمهور بانتظام؛ متوسط التفاعلات لكل منشور يبلغ 25.
- الاهتمامات الموضوعية: يركز المحتوى على مواضيع رئيسية مثل строка, none, true, модуль, peter.
📝 الوصف وسياسة المحتوى
يصف المؤلف القناة بأنها مساحة للتعبير عن الآراء الذاتية:
“Всё самое интересное из мира Python
Сотрудничество, реклама: @devmangx
Менеджер: @Spiral_Yuri
РКН: https://clck.ru/3GMMF6”
بفضل وتيرة التحديث المرتفعة (أحدث البيانات بتاريخ 15 يونيو, 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
متاح الآن! بحث تيليغرام 2025 — أهم رؤى العام 
