⚡️ Парсим XML и HTML
И самым лучшим выбором для этого является lxml. Это библиотека позволяет быстро обрабатывать файлы XML и HTML формата.
Установка:
Единственным недостатком модуля является его сильная зависимость от C. Подробнее обо всём на GitHub.
#миниурок #lxml
И самым лучшим выбором для этого является lxml. Это библиотека позволяет быстро обрабатывать файлы XML и HTML формата.
Установка:
pip install lxml
Он намного быстрее, чем html.parser и с ним в разы проще работать. Более стабильной и удобной альтернативой является html5lib, но это довольно медленная библиотека.Единственным недостатком модуля является его сильная зависимость от C. Подробнее обо всём на GitHub.
#миниурок #lxml
⚡️ Задачка с собеседования | #Medium
Условие:
Вам нужно найти в промежутке от a до b (range(a, b + 1)) числа с особым свойством. Это те, у которых сумма их цифр, возведенных в степень их позиции равняется тому же числу.
Примеры:
sum_dig_pow(1, 100) ➞ [1, 2, 3, 4, 5, 6, 7, 8, 9, 89]
sum_dig_pow(100, 135) ➞ [135]
sum_dig_pow(90, 100) ➞ []
📌 Пишите ваше решение в комментариях. Решение будет через несколько часов на этом канале. 👇
#Задачка_с_собеседования
Условие:
Вам нужно найти в промежутке от a до b (range(a, b + 1)) числа с особым свойством. Это те, у которых сумма их цифр, возведенных в степень их позиции равняется тому же числу.
Примеры:
sum_dig_pow(1, 100) ➞ [1, 2, 3, 4, 5, 6, 7, 8, 9, 89]
sum_dig_pow(100, 135) ➞ [135]
sum_dig_pow(90, 100) ➞ []
📌 Пишите ваше решение в комментариях. Решение будет через несколько часов на этом канале. 👇
#Задачка_с_собеседования
⚡️ Создаём игру
С помощью arcade мы можем создавать полноценные игры с 2D графикой.
Установка:
Конечно, есть и недостатки: вам придётся вручную управлять окном и его рендером, а также циклом обработки действий.
У модуля очень хорошая документация, поэтому проблем с его изучением возникнуть не должно.
#миниурок #arcade
С помощью arcade мы можем создавать полноценные игры с 2D графикой.
Установка:
pip install arcade
Модуль может отрисовывать спрайты, анимировать их, работать с клавиатурой и со звуками. Но у него реализованы и более сложные системы, такие как физика и система частиц.Конечно, есть и недостатки: вам придётся вручную управлять окном и его рендером, а также циклом обработки действий.
У модуля очень хорошая документация, поэтому проблем с его изучением возникнуть не должно.
#миниурок #arcade
⚡️ Генераторы и yield
В Python есть объекты, которые могут возвращать не одно значение, а несколько. Делается это за счёт оператора yield.
Когда мы используем его в функции и вызываем её, в результате получаем генератор. Получить значение из него можно с помощью функции
Код в функции выполняется также, как и всегда, но останавливается, когда встречает yield и ждёт следующего вызова
Также по генератором можно пройтись с помощью цикла for, но только один раз.
#теория
В Python есть объекты, которые могут возвращать не одно значение, а несколько. Делается это за счёт оператора yield.
Когда мы используем его в функции и вызываем её, в результате получаем генератор. Получить значение из него можно с помощью функции
next()
.Код в функции выполняется также, как и всегда, но останавливается, когда встречает yield и ждёт следующего вызова
next()
.Также по генератором можно пройтись с помощью цикла for, но только один раз.
#теория
Что выведет код выше?
Anonymous Quiz
7%
True True True
43%
True False True
25%
False False True
4%
False False False
13%
Ошибку
8%
Узнать ответ
⚡️ Шаблон Снимок
Паттерн позволяет сохранять и восстанавливать прошлые состояния объектов, при этом не раскрывая подробности их реализации.
Представим, что нам надо сохранить данные об игроке. И если позиция вполне может быть публичной переменной, то состояние игрока будет скрыто.
Класс игрока может самостоятельно собрать данные, которые необходимо сохранить и вернуть их в виде объекта Memento. Также класс игрока реализует восстановление из Memento.
#паттерны #memento
Паттерн позволяет сохранять и восстанавливать прошлые состояния объектов, при этом не раскрывая подробности их реализации.
Представим, что нам надо сохранить данные об игроке. И если позиция вполне может быть публичной переменной, то состояние игрока будет скрыто.
Класс игрока может самостоятельно собрать данные, которые необходимо сохранить и вернуть их в виде объекта Memento. Также класс игрока реализует восстановление из Memento.
#паттерны #memento
⚡️ Задачка с собеседования | #Medium
Условие:
По заданному числу найдите перестановку с наименьшим абсолютным значением (без нулей в начале числа). На вход идёт целое число и в результате тоже должно быть целое число.
Примеры:
min_permutation(0) ➞ 0
min_permutation(-20) ➞ -20
min_permutation(293940) ➞ 203499
📌 Пишите ваше решение в комментариях. Решение будет через несколько часов на этом канале. 👇
#Задачка_с_собеседования
Условие:
По заданному числу найдите перестановку с наименьшим абсолютным значением (без нулей в начале числа). На вход идёт целое число и в результате тоже должно быть целое число.
Примеры:
min_permutation(0) ➞ 0
min_permutation(-20) ➞ -20
min_permutation(293940) ➞ 203499
📌 Пишите ваше решение в комментариях. Решение будет через несколько часов на этом канале. 👇
#Задачка_с_собеседования
⚡️ VSCode в браузере
Это легковесная версия Visual Studio Code, которая отлично работает в браузере. Найти её можно на этом сайте.
Он поддерживает почти все функции десктопного редактора (подсветка, автодополнение). Также может работать с git и поддерживает расширения, но с небольшими ограничениями.
К тому же, IDE прекрасно работает на планшете, так что вы сможете быстро дописать код, пока куда-то едете. Подробнее обо всём в блоге (англ. яз.)
#миниурок #ide
Это легковесная версия Visual Studio Code, которая отлично работает в браузере. Найти её можно на этом сайте.
Он поддерживает почти все функции десктопного редактора (подсветка, автодополнение). Также может работать с git и поддерживает расширения, но с небольшими ограничениями.
К тому же, IDE прекрасно работает на планшете, так что вы сможете быстро дописать код, пока куда-то едете. Подробнее обо всём в блоге (англ. яз.)
#миниурок #ide
⚡️ Немного про атрибуты
Все атрибуты, которые вы храните в классе можно найти в переменной
Порой подобная фича бывает лишней. К тому же подобный подход потребляет больше памяти. Если с маленькими объектами проблем не возникнет, то вот на больших вы заметите значительную разницу.
Тут на помощь приходит
#теория
Все атрибуты, которые вы храните в классе можно найти в переменной
__dict__
. Если вы попытаетесь добавить новый атрибут, переменная изменится.Порой подобная фича бывает лишней. К тому же подобный подход потребляет больше памяти. Если с маленькими объектами проблем не возникнет, то вот на больших вы заметите значительную разницу.
Тут на помощь приходит
__slots__
, он указывает, что у класса могут быть только атрибуты, которые находятся в списке.#теория
⚡️ Работаем с WhatsApp
pywhatkit это не просто библиотека для взаимодействия с WhatsApp, а целый набор инструментов, которые могут пригодится при работе с этим мессенджером.
Установка:
И это ещё не весь функционал. Подробнее обо всех возможностях пакета можно почитать в документации.
#миниурок #pywhatkit
pywhatkit это не просто библиотека для взаимодействия с WhatsApp, а целый набор инструментов, которые могут пригодится при работе с этим мессенджером.
Установка:
pip install pywhatkit
Помимо простой отправки сообщений, модуль также может преобразовывать изображения в ASCII art, превращать строку в рукописный текст, воспроизводить видео с YouTube.И это ещё не весь функционал. Подробнее обо всех возможностях пакета можно почитать в документации.
#миниурок #pywhatkit
⚡️ Задачка с собеседования | #Medium
Условие:
Напишите функцию, которая поможет вам определить дату, если вы знаете номер дня в году, а также является ли год високосным или нет. Она принимает номер дня и isLeap в качестве аргументов и возвращает соответствующую дату года в виде строки «Месяц, день».
Примеры:
get_day(365, False) ➞ 'December, 31'
get_day(365, True) ➞ 'December, 30'
get_day(1, True) ➞ 'January, 1'
get_day(127, True) ➞ 'May, 6'
📌 Пишите ваше решение в комментариях. Решение будет через несколько часов на этом канале. 👇
#Задачка_с_собеседования
Условие:
Напишите функцию, которая поможет вам определить дату, если вы знаете номер дня в году, а также является ли год високосным или нет. Она принимает номер дня и isLeap в качестве аргументов и возвращает соответствующую дату года в виде строки «Месяц, день».
Примеры:
get_day(365, False) ➞ 'December, 31'
get_day(365, True) ➞ 'December, 30'
get_day(1, True) ➞ 'January, 1'
get_day(127, True) ➞ 'May, 6'
📌 Пишите ваше решение в комментариях. Решение будет через несколько часов на этом канале. 👇
#Задачка_с_собеседования