Python Academy
Python Academy — один канал вместо тысячи учебников Чат канала: @python_academy_chat Сотрудничество: @zubar89 Канал включён в перечень РКН: https://rkn.link/TVu
إظهار المزيد📈 نظرة تحليلية على قناة تيليجرام Python Academy
تُعد قناة Python Academy (@python_academy) في القطاع اللغوي الروسية لاعباً نشطاً. يضم المجتمع حالياً 44 450 مشتركاً، محتلاً المرتبة 2 951 في فئة التكنولوجيات والتطبيقات والمرتبة 14 130 في منطقة روسيا.
📊 مؤشرات الجمهور والحراك
منذ تأسيسه في невідомо، حقق المشروع نمواً سريعاً وجمع 44 450 مشتركاً.
بحسب آخر البيانات بتاريخ 01 سبتمبر, 2026، تحافظ القناة على نشاط مستقر. خلال آخر 30 يوماً تغيّر عدد الأعضاء بمقدار 132، وفي آخر 24 ساعة بمقدار -15، مع بقاء الوصول العام مرتفعاً.
- حالة التحقق: غير موثّقة
- معدل التفاعل (ER): يبلغ متوسط تفاعل الجمهور 4.90%. وخلال أول 24 ساعة من النشر يحصد المحتوى عادةً 2.35% من ردود الفعل نسبةً إلى إجمالي المشتركين.
- وصول المنشورات: يحصل كل منشور على متوسط 2 179 مشاهدة. وخلال اليوم الأول يجمع عادةً 1 047 مشاهدة.
- التفاعلات والاستجابة: يتفاعل الجمهور بانتظام؛ متوسط التفاعلات لكل منشور يبلغ 4.
- الاهتمامات الموضوعية: يركز المحتوى على مواضيع رئيسية مثل строка, модуль, документация, taskiq, yaml.
📝 الوصف وسياسة المحتوى
يصف المؤلف القناة بأنها مساحة للتعبير عن الآراء الذاتية:
“Python Academy — один канал вместо тысячи учебников
Чат канала: @python_academy_chat
Сотрудничество: @zubar89
Канал включён в перечень РКН: https://rkn.link/TVu”
بفضل وتيرة التحديث المرتفعة (أحدث البيانات بتاريخ 02 سبتمبر, 2026) تحافظ القناة على حداثتها ومستوى وصول مرتفع. وتُظهر التحليلات تفاعلاً نشطاً من الجمهور، ما يجعلها نقطة تأثير مهمة ضمن فئة التكنولوجيات والتطبيقات.
sorted() и метод .sorted(), но достаточно важно самому знать хотя бы несколько реализаций.
Суть алгоритма в том, что совершается несколько проходов по массиву. При проходе последовательно сравниваются пары элементов в массиве и в случае несоответствия выбранному порядку меняются местами. Если пары элементов находятся в верном порядке, то ничего не происходит.
В результате первого прохода максимальный элемент окажется в конце, то есть всплывет словно пузырек. Затем все повторяется до того момента пока весь массив не будет отсортирован. Последний проход будет по отсортированному массиву.
#списки #сортировкаPoint мы определили __str__, который отвечает за то, как выводятся объекты класса на экран.
Для перегрузки оператора "+" нужно определить метод __add__. Он принимает два аргумента, которыми являются, соответственно, операнды в операции сложения.
Таким образом, когда разработчик пишет запись p1 + p2, интерпретатор воспринимает это в виде Point.__add__(p1, p2). Для всех операторов в языке, включая и логические, есть свои магические методы.
#классыa является список, а переменная x хранит в себе объект генератора. И здесь возникает вопрос, что же использовать.
Если вам нужен результат, например в виде списка, прямо сейчас для дальнейшего выполнения программы, то используйте генераторы коллекций.
А если же значения понадобятся еще не скоро или вообще неизвестно, понадобится ли они вообще, то предпочтительнее генераторы, чтобы не занимать лишнюю память и не нагружать систему.
#генераторыglob является удобная и лаконичная работа с поиском файлов по паттернам. Более того, можно даже пройтись по директориям рекурсивно.
В одноименный метод glob передаётся шаблон для поиска файлов, а возвращается список с результатами. Все методы следуют механизму и правилам сопоставления паттернов в стиле Unix.
Вообще модуль является встроенным, но в некоторых ситуациях импорт может выдать исключение. В таком случае надо просто его переустановить через пакетный менеджер pip.
#glob* перед списком именованных аргументов.
Таким образом, если просто передать два аргумента в функцию, то возникнет исключение TypeError. Но если передать их как именованные аргументы, то всё будет работать отлично.
Такой прием может быть полезен для того, чтобы улучшить понятность кода. Здесь, что вполне очевидно, можно использовать и позиционные аргументы – в том случае, если поместить их до *.
#функцииrequests абстрагирует сложности выполнения запросов за красивым, простым API, чтобы вы могли сосредоточиться на взаимодействии с сервисами и работе с данными в ваших приложениях.
Устанавливается requests стандартным путем через пакетный менеджер pip. Запросы GET, POST, PUT и DELETE делаются интуитивно понятно. Атрибуты у объекта Response позволяют получить всю информацию об ответе от сервера.
Модуль идеально подходит как для работы со внешними API веб-сервисов, так и для получения HTML кода веб-страниц.
#requestspyscreenshot позволяет делать скриншоты как всего экрана, так и его части. Для его работы должна быть корректно установлена библиотека pillow.
Для создания скриншота используется метод grab, для его открытия – show, для сохранения – save. Также в grab можно передать аргумент bbox для захвата только определённой части экрана.
Подобный модуль может быть полезен, например, для логирования скриптов, использующих Selenium, который может открывать браузер и производить какие-либо операции в нём.
#модули #pyscreenshottqdm является простым и лаконичным вариантом.
Привычный range можно заменить на trange для визуализации прогресса. А для итерации по какой-либо последовательности, достаточно просто передать её в функцию tqdm. Также модуль хорошо себя зарекомендовал и в Jupyter Notebook.
Кстати, интересный факт – название tqdm произошло от арабского слова "taqaddum" (تقدّم), которое означает "прогресс," а также это ещё и сокращение от "я тебя сильно люблю" на испанском (te quiero demasiado).
#модули #tqdmpip.
Для создания таблиц и работы с ними используется класс PrettyTable из этого модуля. Задать название для столбцов можно с помощью атрибута fields_name. Строки в таблицу добавляются путем вызова метода add_row.
Более того, модуль prettytable позволяет регулировать различные параметры, сортировать данные, работать с html, а также взаимодействовать с csv и sql таблицами. Так что возможностей у этого модуля предостаточно.
#таблицы #prettytablecall является переопределение самого этого метода на другой, а именно normal_call. Таким образом, изначальный код call будет исполнен только один раз.
Подобный прием будет полезен в тех случаях, когда при самом первом вызове метода в классе требуются выполнить одноразовые действия, которые в дальнейшем не нужны.
#классы #функцииProcess из встроенного модуля multiprocessing позволяет создавать процессы без прямого вызова функции fork, про которую писали раньше на канале.
При создании экземпляра Proccess необходимо передать функцию, которую требуется исполнить в отдельном дочернем процессе и аргументы этой функции. Процесс будет создан после вызова метода start. Внутри метода start будет вызван fork и будет исполнена функция в отдельном процессе.
Очень важно ожидать завершения всех созданных дочерних процессов. Для этого можно воспользоваться удобной функцией join.
#процессы #multiprocessing