Простой Python | Программирование
141K subscribers
2.36K photos
48 videos
1.36K links
Заявки принимаются автоматически.
Лучший образовательный канал по Python.

По всем вопросам: @dimaa_dimaa (реклама)

Ссылка на канал: https://t.me/+T1i5nO0m_h01ZDky
.
РКН: https://vk.cc/cJ5box
Помощь:https://telega.in/c/+T1i5nO0m_h01ZDky
Download Telegram
Проверка исключения

Ты можешь проверить, что функция выдает исключение, с помощью менеджера контекста. Если код выполнится успешно, он не пройдет тест, потому что исключение не возникло. Если код вызывает исключение правильного типа, тест продолжится. Ты также можешь получить содержимое исключения, если хочешь выполнить против него дополнительные утверждения.

#практика
👍1
Шаблоны проектирования

#теория
👍1
Вывод с помощью template

Шаблоны поддерживают замену на основе $ вместо замены на основе %. Substitute выполняет замену шаблона, возвращая новую строку. Отображение — это любой объект, похожий на словарь, с ключами, соответствующими заполнителям шаблона. В этом примере цена и количество являются заполнителями. Аргументы ключевых слов также можно использовать в качестве заполнителей. Заполнители из ключевых слов имеют приоритет, если присутствуют оба.

#практика
👍2🔥1😁1
Категории паттернов

#теория
Round() в Python 2 и Python 3

При использовании round() в Python 2 для числа, одинаково близкого к двум целым числам, вернется число, наиболее удаленное от 0. Однако в Python 3 функция round() возвращает четное целое число. Кроме этого, в Python возвращаемое значение имеет тип float. В Python 3 же – int.

#практика
Абстрактные классы

Абстрактные базовые классы — это форма проверки интерфейса. Она более строгая, чем отдельные проверки hasattr() для конкретных методов. Определив абстрактный базовый класс, ты можешь определить общий API для набора подклассов. Эта возможность особенно полезна в ситуациях, когда третья сторона собирается предоставить реализации, такие как плагины для приложения. abc помечает методы базового класса как абстрактные, а затем регистрирует конкретные классы как реализации абстрактной базы.

#практика
Черепашья графика

Turtle — это предустановленная библиотека Python, которая позволяет пользователям создавать изображения и фигуры с помощью предоставленного виртуального холста. Экранное перо, которым ты рисуешь, называется черепахой. Данный код позволяет нарисовать ninja twist.

#практика
👍1
Python и Excel

Библиотека Python xlrd предназначена для извлечения данных из файлов электронных таблиц Microsoft Excel. Предварительно ее нужно установить с помощью pip install xlrd. В данном коде указаны основные команды для чтения данных из excel: количество листов, имена листов, содержимое ячеек, количество строк/столбцов.

#практика
🤣2
SQLite

SQLite — это легкая база данных. Поскольку для нее не требуется отдельный сервер базы данных, она часто используется для прототипирования или для небольших приложений. Данный код подключается к базе данных, хранящейся в файле с именем users.db. Предварительно создается файл, если он еще не существует. Ты можешь взаимодействовать с базой данных с помощью операторов SQL.

#практика
SSE с помощью asyncio

Server Sent Events (SSE) - это однонаправленное соединение между сервером и клиентом (обычно веб-браузером), которое позволяет серверу «отправлять» информацию клиенту. Это очень похоже на веб-сокеты и длинный опрос. Основное различие между SSE и веб-сокетами заключается в том, что SSE является однонаправленным. Только сервер может отправлять информацию клиенту, тогда как в случае с веб-сокетами оба могут отправлять информацию друг другу. Обычно считается, что SSE намного проще в использовании/внедрении, чем веб-сокеты.

#практика
Декоратор с аргументами

Декоратор может принять только один аргумент. Часто тебе понадобятся дополнительные аргументы. В таком случае ты можешь создать функцию, которая принимает произвольные аргументы и возвращает декоратор. С такими фабриками декораторов ты должен вызывать декоратор с парой круглых скобок, иначе выдаст ошибку.

#практика
Cоздание водяного знака

Пакет Pillow позволяет добавлять водяные знаки на твои изображения. Для добавления водяного знака к изображению тебе понадобятся модули Image, ImageDraw и ImageFont из пакета Pillow. Модуль ImageDraw добавляет функциональность для рисования 2D-графики на новых или существующих изображениях. Модуль ImageFont используется для загрузки файлов растровых изображений, шрифтов TrueType и OpenType.

#практика
Удаление начальных и конечных символов из строки

Предусмотрены три метода, которые позволяют удалять начальные и конечные символы из строки: str.strip, str.rstrip и str.lstrip. Все три метода возвращают новый строковый объект с удаленными нежелательными символами. Первый метод удаляет все начальные и конечные символы. rstrip удаляет конечные символы, lstrip – начальные. По умолчанию удаляются пробелы.

#практика
👍1
Часовой пояс

Практически для любой проблемы, связанной с часовыми поясами, ты можешь использовать модуль pytz. Этот пакет предоставляет базу данных часовых поясов Олсона. Она является стандартом для информации о часовых поясах, используемой во многих языках и операционных системах. В данном примере мы выводим время в нашем регионе, а затем в часовом поясе Индии.

#практика
Приоритетные очереди

Предположим, ты хочешь реализовать очередь, которая сортирует элементы по заданному приоритету. Она всегда возвращает элемент с наивысшим приоритетом при каждой операции извлечения. В данном примере класс PriorityQueue использует модуль heapq для реализации простой приоритетной очереди. Обрати внимание, как элементы с одинаковым приоритетом возвращаются в том же порядке, в котором они были вставлены в очередь.

#практика
Удаление повторов с сохранением порядка

Для избавления от дубликатов можно использовать set. Однако какой-либо порядок при использовании set не сохраняется. Если значения в последовательности можно хэшировать, проблема легко решается с помощью набора и генератора. Если ты пытаешься устранить дубликаты в последовательности нехешируемых типов (например, dicts), нужно внести небольшое изменение в код. Здесь цель аргумента key - указать функцию, которая преобразует элементы последовательности в хешируемый тип для обнаружения дубликатов.

#практика
👍1
Поиск и замена текста без учета регистра

Для выполнения текстовых операций без учета регистра ты можешь использовать модуль re и указать флаг re.IGNORECASE для различных операций. Обрати внимание на пример. Замена текста не будет соответствовать регистру совпавшего текста. Для исправления этого воспользуемся вспомогательной функцией matchcase. Она делает замену в зависимости от того, какие символы используются в тексте.

#практика
👍1
Извлечение подмножества словаря

Для извлечения подмножества словаря воспользуемся генератором словарей (dict comprehension). В данном примере мы создаем два новых словаря. Один состоит из элементов со значениями больше 200. Второй состоит из заранее перечисленных элементов. Аналогично можно сделать с помощью создания кортежей, однако наш метод быстрее и немного проще для чтения.

#практика
JavaScript теперь в телеграм!

JavaScript — самый популярный язык в мире, он используется в 95% всех сайтов, которые вообще существуют. Теперь у JS есть русскоязычный канал. Это первоисточник всего, что появляется в платных курсах и остальных ресурсов. Стоит подписаться!
Вычисления с большими числовыми массивами

Для любых сложных вычислений, связанных с массивами, используй библиотеку NumPy. Основная особенность NumPy заключается в том, что она предоставляет Python объект массива. Он более эффективен и лучше подходит для математических вычислений, чем стандартный список Python. В частности, скалярные операции выполняют операцию поэлементно. Выполнение математических операций, когда оба операнда являются массивами, применяет операцию ко всем элементам и создает новый массив. Применение математических операций ко всем элементам одновременно позволяет очень легко и быстро вычислять функции для всего массива.

#практика