Python Education
Closed channel
Обучаем Python как маленьких, так и взрослых Ссылка: @Portal_v_IT Сотрудничество: @oleginc
Show more8 414
Subscribers
-124 hours
-207 days
-8830 days
Loading data
Similar Channels
No data
Any problems? Please refresh the page or contact our support manager.
Tags Cloud
Incoming and Outgoing Mentions
---
---
---
---
---
---
Attracting Subscribers
November '26Nov '26
November '26
+1
in 0 channels
October '26
+8
in 0 channels
Get PRO
September '26
+1
in 0 channels
Get PRO
August '26
+4
in 0 channels
Get PRO
July '26
+21
in 0 channels
Get PRO
June '26
+1
in 0 channels
Get PRO
May '26
+4
in 0 channels
Get PRO
April '26
+7
in 0 channels
Get PRO
March '26
+10
in 0 channels
Get PRO
February '26
+6
in 0 channels
Get PRO
January '26
+16
in 0 channels
Get PRO
December '25
+4
in 0 channels
Get PRO
November '25
+2
in 0 channels
Get PRO
October '25
+2
in 0 channels
Get PRO
September '25
+10
in 0 channels
Get PRO
August '25
+7
in 0 channels
Get PRO
July '25
+2
in 0 channels
Get PRO
June '25
+2
in 0 channels
Get PRO
May '25
+6
in 0 channels
Get PRO
April '25
+6
in 0 channels
Get PRO
March '25
+17
in 0 channels
Get PRO
February '25
+15
in 0 channels
Get PRO
January '25
+18
in 0 channels
Get PRO
December '24
+13
in 2 channels
Get PRO
November '24
+2
in 0 channels
Get PRO
October '240
in 1 channels
Get PRO
September '24
+1
in 0 channels
Get PRO
August '24
+7
in 0 channels
Get PRO
July '24
+6
in 0 channels
Get PRO
June '24
+11
in 0 channels
Get PRO
May '24
+19
in 0 channels
Get PRO
April '24
+47
in 0 channels
Get PRO
March '24
+21
in 1 channels
Get PRO
February '24
+24
in 0 channels
Get PRO
January '24
+30
in 0 channels
Get PRO
December '23
+32
in 0 channels
Get PRO
November '23
+16
in 0 channels
Get PRO
October '23
+11
in 0 channels
Get PRO
September '23
+13
in 0 channels
Get PRO
August '23
+7
in 0 channels
Get PRO
July '23
+22
in 0 channels
Get PRO
June '23
+17
in 0 channels
Get PRO
May '23
+8
in 0 channels
Get PRO
April '23
+18
in 0 channels
Get PRO
March '23
+6
in 0 channels
Get PRO
February '23
+21
in 0 channels
Get PRO
January '23
+33
in 0 channels
Get PRO
December '22
+6
in 0 channels
Get PRO
November '22
+6
in 0 channels
Get PRO
October '22
+3
in 0 channels
Get PRO
September '22
+4
in 0 channels
Get PRO
August '22
+1 293
in 0 channels
Get PRO
July '22
+4 112
in 0 channels
Get PRO
June '22
+1 131
in 0 channels
Get PRO
May '22
+3 035
in 0 channels
Get PRO
April '22
+2 194
in 0 channels
Get PRO
March '22
+15 340
in 0 channels
| Date | Subscriber Growth | Mentions | Channels | |
| 15 November | 0 | |||
| 14 November | 0 | |||
| 13 November | 0 | |||
| 12 November | 0 | |||
| 11 November | 0 | |||
| 10 November | 0 | |||
| 09 November | 0 | |||
| 08 November | 0 | |||
| 07 November | 0 | |||
| 06 November | 0 | |||
| 05 November | 0 | |||
| 04 November | +1 | |||
| 03 November | 0 | |||
| 02 November | 0 | |||
| 01 November | 0 |
Channel Posts
Создаём аудиокнигу из PDF
После предыдущего поста про работу с PDF документами возникла идея попробовать конвертировать книгу в аудиокнигу.
До этого на канале мы также разбирали создание аудио из текста. Поэтому остается всего лишь совместить эти два скрипта в одной программе. На картине выше можете видеть полученный код.
Да, конечно, результат сложно назвать полноценной аудиокнигой, но для проекта в 7 строчек кода получилось неплохо.
#gtts #pdftotext
Скачать видео ~ IT ~ Чат
🐍 Python Education
| 2 | Упрощаем логирование
Для Pyhton есть овер-полезная библиотека, которая в разы упрощает систему логирования.
Установка: pip install loguru
Асинхронное логирование, структурированное логирование и много других фишек которые разрешат известную проблему.
Скачать видео ~ IT ~ Чат
🐍 Python Education | 117 |
| 3 | Превращаем PDF в текст
Думаю, все периодические работают с PDF-документами. И зачастую это ручная и скучная работа. Но Python может автоматизировать даже такую рутинную задачу.
Модуль pdftotext создан именно для работы с документами в PDF формате. Устанавливается он через пакетный менеджер pip, а использовать его проще простого. Все основные операции представлены на картинке выше.
Кстати, здесь ещё интересно то, что исходный код модуля написан на C++. Поэтому есть небольшая вероятность, что придётся повоевать с зависимостями.
#pdftotext
Скачать видео ~ IT ~ Чат
🐍 Python Education | 157 |
| 4 | Сортировка пузырьком
Для сортировки списков в Python уже есть встроенные функция sorted() и метод .sorted(), но достаточно важно самому знать хотя бы несколько реализаций.
Суть алгоритма в том, что совершается несколько проходов по массиву. При проходе последовательно сравниваются пары элементов в массиве и в случае несоответствия выбранному порядку меняются местами. Если пары элементов находятся в верном порядке, то ничего не происходит.
В результате первого прохода максимальный элемент окажется в конце, то есть всплывет словно пузырек. Затем все повторяется до того момента пока весь массив не будет отсортирован. Последний проход будет по отсортированному массиву.
#списки #сортировка
Скачать видео ~ IT ~ Чат
🐍 Python Education | 154 |
| 5 | Сравниваем Django и Flask
Оба фреймворка крайне мощные, но выбрать надо что-то одно. Из общеизвестных фактов: Django – самый востребованный в плане работы, Flask – наиболее производительный.
Django является более монолитным и предоставляет сразу множество инструментов из коробки, а Flask в свою очередь гибкий и минималистичный, позволяет кастомизировать архитектуру приложения.
Если в приоритете трудоустройство, то следует изучать Django. Но если вы хотите быстро начать создавать пет-проекты или изучать веб в целом, то рекомендуем рассматривать Flask.
#сравнение
Скачать видео ~ IT ~ Чат
🐍 Python Education | 147 |
| 6 | Для создания пустых функций и классов есть сразу два способа соответствующих правилам PEP: "pass" и "...". Предпочтительнее использовать первый вариант. Он означает буквальным счетом пустоту, даже применить функции dir() или help() не получится. А вот три точки - объект.
Их применение более широкое. Мы видели точки, когда выводили бесконечный список. Но то, был просто вывод, а не наш объект. Ellipsis применяется так же для создания пустых списков. Он показывает, что внутри не что-то одно, а много. На практике его используют лишь в документации и при создании все тех же пустых функций.
На картинке пример программы проверяющий пароль от юзера. Сохранение в БД мы еще не решили как писать, поэтому просто создали заглушку.
Скачать видео ~ IT ~ Чат
🐍 Python Education | 156 |
| 7 | Протоколы
Термины "протокол итератора" или "протокол дескрипторов" уже привычны и используются давно. Но теперь можно описывать протоколы в виде кода и проверять их соответствие на этапе статического анализа.
Протокол описывается как обычный класс, наследующийся от Protocol. Он может иметь методы (в том числе с реализацией) и поля. Реальные классы, реализующие протокол могут наследоваться от него, но это не обязательно, как показано в примере.
Хоть это и не совсем интерфейсы, но все же классная штука. Еще важно, что протоколы, как и все остальные фишки аннотаций типов, используются в основном со статически типизированным mypy.
#typing #аннотации
Скачать видео ~ IT ~ Чат
🐍 Python Education | 166 |
| 8 | Находим файлы по шаблону
Основной фишкой модуля glob является удобная и лаконичная работа с поиском файлов по паттернам. Более того, можно даже пройтись по директориям рекурсивно.
В одноименный метод glob передаётся шаблон для поиска файлов, а возвращается список с результатами. Все методы следуют механизму и правилам сопоставления паттернов в стиле Unix.
Вообще модуль является встроенным, но в некоторых ситуациях импорт может выдать исключение. В таком случае надо просто его переустановить через пакетный менеджер pip.
Скачать видео ~ IT ~ Чат
🐍 Python Education | 181 |
| 9 | Избегайте циклы с коллекциями
Представим задачу: требуется создать новый список, элементами которого будут являться квадраты чисел другого списка. Большинство сразу же напишут цикл for.
Но такой подход займет как минимум три строчки: объявление новой переменной, создание цикла и кода внутри него. Более того, также снижается скорость работы скрипта.
В коде выше мы привели две достойные альтернативы – генератор списка и функция map. В обоих вариантах не только код становится лаконичнее, но и заметно повышается производительность.
#совет
Скачать видео ~ IT ~ Чат
🐍 Python Education | 181 |
| 10 | Вакансии Айтишника — ежедневная подборка актуальных вакансий для айтишников.
Для тех, кто только закончил учебу, ищет работу получше или тебя заменили нейросетью. | 152 |
| 11 | Статические методы
Отличие статических методов от обычных в том, что они привязаны к классу, а не объекту. То есть они могут быть вызваны напрямую у класса.
Статический метод не принимает ни объект (self), ни класс (cls) в аргументах. То есть такие методы не могут модифицировать ни объект, ни сам класс.
Реализовать статический метод можно двумя способами. Один из них — присвоить классу новый метод, напрямую передав изначальный метод в функцию staticmethod.
Но так делать не принято, поэтому чаще всего staticmethod используют в качестве декоратора при написании методов прямо в классе.
#staticmethod
Скачать видео ~ IT ~ Чат
🐍 Python Education | 166 |
| 12 | Функции только с позиционными параметрами
Если с помощью inspect посмотреть на то, как объявлена встроенная функция float, то увидим, что есть входный параметр x и еще какой-то непонятый слэш.
Однако при попытке вызвать функцию и передать туда именованный аргумент, а не позиционный, получим исключение. А если передать аргумент, явно не указывая имя параметра, то все работает.
Такое поведение как раз задает тот слэш. Параметры, записанные до него, можно передать только как позиционные. После него – как угодно, все будет работать стандартно.
#функции
Скачать видео ~ IT ~ Чат
🐍 Python Education | 170 |
| 13 | Муха освоила нейросети и умеет трейдить, играть в гта, делать ставки, а ты пользуешься только ChatGPT??
Забирай доступ к 300 халявным нейросетям ⬇️
😀 Думают
🤖 Умничают
🤖 Кодят
🖥 Рисуют
📹 Снимают
☀️ Монтируют
☄️ Ищут
🌫 Копают
🌕 Играют
👩💻 3D-шат
🖼️ Фотошопят
⭐️ Улучшают
🪹 Оживляют
🎵 Поют
🎧 Музычат
🔈 Озвучивают
🌐 Говорят
🤩 Чистят
🤖 Агентят
☃️ Автоматят
🍄🟫 Собирают
🌴 Сайты
🦤 Приложухи
🪺 Презы
🪷 Пишут
🦏 Рекламят
🐈 Продвигают
🌹 Работают
☘️ Коннектят
☔️ Запускают
Полный список нейросетей уже в канале @backspace ➡️ | 152 |
| 14 | Копирование словарей и других объектов
Новички часто допускают такую ошибку при создании копии списка:
= lst1
При работе с одним из словарей оказывается, что изменяются оба.
Почему так происходит?
Об этом — в завтрашнем посте. Пока что расскажу, как этого избежать:
У списка существует специальный метод copy(), который нужен как раз для таких случаев.
Но подобное работает не всегда! Если имеется множество вложенных списков, то надо сделать полное копирование импортировав модуль copy и воспользовавшись методом deepcopy().
Скачать видео ~ IT ~ Чат
🐍 Python Education | 182 |
| 15 | Простой, но мощный веб-фреймворк
Самым популярным фреймворком для разработки серверной части на Python является Flask. К слову, он обгоняет даже Django по звездам на GitHub.
Flask предназначен для быстрого и легкого старта работы с возможностью масштабирования до сложных приложений. А коммьюнити предоставляет множество расширений для фреймворка.
Для создания минимального рабочего приложения достаточно кода выше. После запуска такого скрипта можете перейти в браузере по адресу http://localhost:5000/ и посмотреть результат.
#модули
Скачать видео ~ IT ~ Чат
🐍 Python Education | 202 |
| 16 | Перегрузка операторов
Сначала стоит напомнить, что методы, которые начинаются и заканчиваются двойными нижними подчеркиваниями, называются магическими.
Например, выше в классе Point мы определили __str__, который отвечает за то, как выводятся объекты класса на экран.
Для перегрузки оператора "+" нужно определить метод __add__. Он принимает два аргумента, которыми являются, соответственно, операнды в операции сложения.
Таким образом, когда разработчик пишет запись p1 + p2, интерпретатор воспринимает это в виде Point.__add__(p1, p2). Для всех операторов в языке, включая и логические, есть свои магические методы.
#классы
Скачать видео ~ IT ~ Чат
🐍 Python Education | 212 |
| 17 | Исполняем код в виде строки
В предыдущем посте мы рассказали про проект, который использует функцию exec. Так вот, эта функция нужна для того, чтобы выполнять код, переданный в виде строки.
Первым аргументом передается сама строка, в которой записан код, а также можно передать еще два опциональных аргумента globals и locals в виде словарей.
Но в продакшне такое использовать не рекомендуется, так как подобная штука крайне небезопасна. А для общего развития знать полезно.
#exec
Скачать видео ~ IT ~ Чат
🐍 Python Education | 209 |
| 18 | Объект Ellipsis
В Python есть крайне интересный объект, который обозначается как ..., то есть многоточие. Этот объект называется Ellipsis, и используется он в основном как заготовка для чего-то еще не реализованного.
Применяется он зачастую при работе со срезами в Numpy, но и в обычном коде его тоже встретить можно. Например, ... периодически встречается в теле функции в качестве заглушки.
Если привести его к логическому типу данных, то увидим True — это важный момент, потому что похожий по своей сути None выдает False.
#ellipsis
Скачать видео ~ IT ~ Чат
🐍 Python Education | 206 |
| 19 | Разница между == и is
Многие разработчики не понимают разницу этих двух операторов сравнения. Из-за неправильного использования == и is в приложениях могут возникнуть странные ошибки.
Оператор == проверяет равенство значений двух объектов. А оператор is проверяет идентичность самих объектов. Его используют, чтобы удостовериться, что переменные указывают на один и тот же объект в памяти.
Но Python в целях производительности кеширует малые числа и короткие строки, поэтому возможны некоторые казусы, как в примере выше.
#тонкости
Скачать видео ~ IT ~ Чат
🐍 Python Education | 222 |
| 20 | PyCharm - лучшая среда разработки для Python
В этом ролике автор поделится информацией, почему считает PyCharm лучшей средой разработки для Python, как к этому пришел, какие она имеет преимущества и недостатки. А также разберет в каких случаях использовать PyCharm не рекомендуется.
Смотреть это видео на youtube: youtu.be/baJ_WdEwmCQ
Скачать видео ~ IT ~ Чат
🐍 Python Education | 218 |
