Простой 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
Вывод с помощью 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. В частности, скалярные операции выполняют операцию поэлементно. Выполнение математических операций, когда оба операнда являются массивами, применяет операцию ко всем элементам и создает новый массив. Применение математических операций ко всем элементам одновременно позволяет очень легко и быстро вычислять функции для всего массива.

#практика
Бродкастинг

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

#практика
Правила бродкастинга

Бродкастинг следует строгому набору правил, определяющих взаимодействие между двумя массивами. Первое правило: если два массива различаются по количеству измерений, форма массива с меньшим количеством измерений дополняется единицами на его передней (левой) стороне. Второе правило: если форма двух массивов не совпадает ни в одном измерении, массив с формой, равной 1 в этом измерении, растягивается для соответствия другой форме. Третье правило: если в каком-либо измерении размеры не совпадают и ни один из них не равен 1, возникает ошибка.

#практика