Python Education
Закрытый канал
Обучаем Python как маленьких, так и взрослых Ссылка: @Portal_v_IT Сотрудничество: @oleginc, @tatiana_inc Канал на бирже: telega.in/c/python_educa РКН: clck.ru/3MnbNV
Больше8 736
Подписчики
-324 часа
-337 дней
-8030 день
Архив постов
8 736
Библиотека Emoji
Смайлы стали неотъемлемой частью нашей жизни. И сейчас трудно представить сообщения без них. Поэтому существует библиотека, которая позволяет удобно использовать эмоджи.
С её помощью можно не только вставлять смайлы, но и находить их в тексте.
Можно комбинировать с другими библиотеками, данный модуль подойдет как для простого вывода, так и для украшения текста в ботах ВК или ТГ.
Ну а на картинке представим не работу библиотеки (она и так понятна), а интересный код, где вместо переменных используются эмоджи. Так делать нельзя, но код работает.
8 736
hex, oct, bin
Приходилось вам раньше работать с различными системами счисления? Если да, то вы знаете, как написать программу переводящую из одной системы в другую. Пишется она довольно просто, но иногда стоит задача быстро написать код с какой-то популярной системой счисления. Обычно это двоичная, восьмеричная или шестнадцатеричная. Для всех этих систем есть встроенные функции, которые переводят в нужную нам систему!
Из 10-ричной:
hex - перевод в 16-ричную систему
oct - перевод в 8-ричную систему
bin - перевод в 2-ичную систему
А из любой системы счисления можно получить число максимально простым способом:
int(number, base)8 736
Кортежи в циклах
Многие знают о том, что с помощью кортежей легко поменять местами значения переменных, однако у них есть более широкое применение.
Мы можем разбирать сложные составные массивы, списки с помощью кортежей и циклов. Это очень полезный, удобный инструмент.
8 736
Упрощаем логирование
Для Pyhton есть овер-полезная библиотека, которая в разы упрощает систему логирования.
Установка:
pip install loguru
Асинхронное логирование, структурированное логирование и много других фишек которые разрешат известную проблему.8 736
Сортировка пузырьком
Для сортировки списков в Python уже есть встроенные функция
sorted() и метод .sorted(), но достаточно важно самому знать хотя бы несколько реализаций.
Суть алгоритма в том, что совершается несколько проходов по массиву. При проходе последовательно сравниваются пары элементов в массиве и в случае несоответствия выбранному порядку меняются местами. Если пары элементов находятся в верном порядке, то ничего не происходит.
В результате первого прохода максимальный элемент окажется в конце, то есть всплывет словно пузырек. Затем все повторяется до того момента пока весь массив не будет отсортирован. Последний проход будет по отсортированному массиву.
#списки #сортировка8 736
Для создания пустых функций и классов есть сразу два способа соответствующих правилам PEP: "pass" и "...". Предпочтительнее использовать первый вариант. Он означает буквальным счетом пустоту, даже применить функции dir() или help() не получится. А вот три точки - объект.
Их применение более широкое. Мы видели точки, когда выводили бесконечный список. Но то, был просто вывод, а не наш объект. Ellipsis применяется так же для создания пустых списков. Он показывает, что внутри не что-то одно, а много. На практике его используют лишь в документации и при создании все тех же пустых функций.
На картинке пример программы проверяющий пароль от юзера. Сохранение в БД мы еще не решили как писать, поэтому просто создали заглушку.
8 736
Находим файлы по шаблону
Основной фишкой модуля glob является удобная и лаконичная работа с поиском файлов по паттернам. Более того, можно даже пройтись по директориям рекурсивно.
В одноименный метод glob передаётся шаблон для поиска файлов, а возвращается список с результатами. Все методы следуют механизму и правилам сопоставления паттернов в стиле Unix.
Вообще модуль является встроенным, но в некоторых ситуациях импорт может выдать исключение. В таком случае надо просто его переустановить через пакетный менеджер pip.
8 736
Находим файлы по шаблону
Основной фишкой модуля glob является удобная и лаконичная работа с поиском файлов по паттернам. Более того, можно даже пройтись по директориям рекурсивно.
В одноименный метод glob передаётся шаблон для поиска файлов, а возвращается список с результатами. Все методы следуют механизму и правилам сопоставления паттернов в стиле Unix.
Вообще модуль является встроенным, но в некоторых ситуациях импорт может выдать исключение. В таком случае надо просто его переустановить через пакетный менеджер pip.
8 736
Статические методы
Отличие статических методов от обычных в том, что они привязаны к классу, а не объекту. То есть они могут быть вызваны напрямую у класса.
Статический метод не принимает ни объект (
self), ни класс (cls) в аргументах. То есть такие методы не могут модифицировать ни объект, ни сам класс.
Реализовать статический метод можно двумя способами. Один из них — присвоить классу новый метод, напрямую передав изначальный метод в функцию staticmethod.
Но так делать не принято, поэтому чаще всего staticmethod используют в качестве декоратора при написании методов прямо в классе.
#staticmethod8 736
Копирование словарей и других объектов
Новички часто допускают такую ошибку при создании копии списка:
= lst1
При работе с одним из словарей оказывается, что изменяются оба.
Почему так происходит?
Об этом — в завтрашнем посте. Пока что расскажу, как этого избежать:
У списка существует специальный метод copy(), который нужен как раз для таких случаев.
Но подобное работает не всегда! Если имеется множество вложенных списков, то надо сделать полное копирование импортировав модуль copy и воспользовавшись методом deepcopy().8 736
Перегрузка операторов
Сначала стоит напомнить, что методы, которые начинаются и заканчиваются двойными нижними подчеркиваниями, называются магическими.
Например, выше в классе
Point мы определили __str__, который отвечает за то, как выводятся объекты класса на экран.
Для перегрузки оператора "+" нужно определить метод __add__. Он принимает два аргумента, которыми являются, соответственно, операнды в операции сложения.
Таким образом, когда разработчик пишет запись p1 + p2, интерпретатор воспринимает это в виде Point.__add__(p1, p2). Для всех операторов в языке, включая и логические, есть свои магические методы.
#классы8 736
Объект Ellipsis
В Python есть крайне интересный объект, который обозначается как
..., то есть многоточие. Этот объект называется Ellipsis, и используется он в основном как заготовка для чего-то еще не реализованного.
Применяется он зачастую при работе со срезами в Numpy, но и в обычном коде его тоже встретить можно. Например, ... периодически встречается в теле функции в качестве заглушки.
Если привести его к логическому типу данных, то увидим True — это важный момент, потому что похожий по своей сути None выдает False.
#ellipsis8 736
PyCharm - лучшая среда разработки для Python
В этом ролике автор поделится информацией, почему считает PyCharm лучшей средой разработки для Python, как к этому пришел, какие она имеет преимущества и недостатки. А также разберет в каких случаях использовать PyCharm не рекомендуется.
Смотреть это видео на youtube: youtu.be/baJ_WdEwmCQ
8 736
Как удалить пробелы из строки с помощью replace()
Как упоминалось выше, функция replace() – это одна из наиболее часто используемых строковых функций в Python. С ее помощью можно заменить определенный символ, слово или фразу в указанной строке. Синтаксис функции replace()
8 736
Продвинутая итерация
Итерация с помощью функции for может быть куда шире, чем может показаться.
Функция enumerate() перебирает элементы итерируемого объекта с автоматической индексацией. Комбинируем с for — получаем отличный способ разобрать список.
8 736
Выключение компьютера
Если надоело выключать компьютер привычным способом, то можно создать программу на Питон. При чём для её реализации вам потребуется лишь использовать встроенную библиотеку os.
8 736
Библиотека colorama
На первый взгляд — бесполезная библиотека, позволяющая окрашивать текст в командной строке. Но она помогает выделять ошибки приложения и информацию для других разработчиков.
Библиотеку надо установить:
install coloramaColorama позволяет изменять сам цвет текста, а так же его фон и стиль цвета. На картинке мы не можем показать изменение фона, но вы можете опробовать сами.
8 736
Обработка строки
Полезные функции для работы со строками. Python известен тем, что можно написать код в одну строчку использованием метода вместо перебора списком.
Перечислим наиболее полезные методы:
capitalize() - первая буква большая, остальные маленькие
strip() - удаление пробелов в начале и конце
center(int, chr='') - отцентрирует текст, int - нужное кол-во символов в строке, а chr - символ для добавления в начало и конец
swapcase() - заглавные буквы в прописные, маленькие в большие
lower() - преобразует к нижнему регистру
upper() - преобразует к верхнему регистру
При написании нейронок и ботов обязательно приводите все к нижнему регистру с помощью lower(). При написании ботов часто использую center(), для красивого вывода.
8 736
Есть 2 способа выучить Python:
1. Платить за дорогие курсы и втыкать в обучающие ролики на ютубе. Напичкать себя теорией, но так и не научиться кодить.
2. Читать канал Python Teacher.
Здесь вы в коротких постах впитаете все алгоритмы, освоите разные библиотеки и фишки языка. А это уже заявочка на хорошую работу.
Много реальных примеров и готового кода, переходи и прокачивай скиллы! @python_teacher
Уже доступно! Исследование Telegram 2025 — ключевые инсайты года 
