⚡️ Кодировка base64
base64 — система, переводящая набор байтов в строку состоящую только из A-Z, a-z, 0-9, +, /.
Появилась она очень давно, ещё когда не решили, сколько бит должно быть в одном байте. Решение принять 8 бит за 1 байт сделало неприятно программам, которые считали байт за 6 или 7 бит.
Сообщения обрезались, поскольку последний бит не учитывался, но с этим помог справиться base64, который использовал 2^6 (64) символа.
Сейчас же это активно используется в почте и для передачи бинарных файлов. Вы, наверное, могли замечать, что код изображения на странице сохранён в виде этого формата.
Для работы с ней в python существует модуль base64 и методы
#миниурок #base64
base64 — система, переводящая набор байтов в строку состоящую только из A-Z, a-z, 0-9, +, /.
Появилась она очень давно, ещё когда не решили, сколько бит должно быть в одном байте. Решение принять 8 бит за 1 байт сделало неприятно программам, которые считали байт за 6 или 7 бит.
Сообщения обрезались, поскольку последний бит не учитывался, но с этим помог справиться base64, который использовал 2^6 (64) символа.
Сейчас же это активно используется в почте и для передачи бинарных файлов. Вы, наверное, могли замечать, что код изображения на странице сохранён в виде этого формата.
Для работы с ней в python существует модуль base64 и методы
b64encode(s)
, b64decode(s)
для кодировки и расшифровывания.#миниурок #base64
⚡️ Задачка с собеседования | #Medium
Условие:
Вам необходимо превратить целое число в ip-адрес.
Примеры:
int_to_ip(32) -> '0.0.0.32'
int_to_ip(0) -> '0.0.0.0'
int_to_ip(2149583361) -> '128.32.10.1'
📌 Пишите ваше решение в комментариях. Решение будет через несколько часов на этом канале. 👇
#Задачка_с_собеседования
Условие:
Вам необходимо превратить целое число в ip-адрес.
Примеры:
int_to_ip(32) -> '0.0.0.32'
int_to_ip(0) -> '0.0.0.0'
int_to_ip(2149583361) -> '128.32.10.1'
📌 Пишите ваше решение в комментариях. Решение будет через несколько часов на этом канале. 👇
#Задачка_с_собеседования
⚡️ Планировщик событий
В python есть классный модуль — sched, внутри которого реализован простой планировщик событий.
Первым делом, создаём класс
После — добавляем события с помощью
И, что-бы всё начало работать, вызываем
Кроме всего этого, модуль может работать в многопоточном режиме. Об этом вы можете прочитать в документации.
#миниурок #sched
В python есть классный модуль — sched, внутри которого реализован простой планировщик событий.
Первым делом, создаём класс
scheduler(timefunc, delayfunc)
, где timefunc — функция для измерения времени, а delayfunc — функция для ожидания.После — добавляем события с помощью
scheduler.enter(delay, priority, func)
. Также мы можем передать argument
и kwargs
, таким образом отправив что-то функции.И, что-бы всё начало работать, вызываем
run()
.Кроме всего этого, модуль может работать в многопоточном режиме. Об этом вы можете прочитать в документации.
#миниурок #sched
Что выведет код выше?
Anonymous Quiz
26%
'hello'
9%
''
28%
Ошибку, нельзя задать атрибут
25%
Ошибку, атрибута a не существует
13%
Узнать ответ
⚡️ Управляем мышкой и клавиатурой
Для решения этой задачи придумали pyautogui, позволяющий управлять компьютером прямо из Python.
Установка:
Если вам стало интересно, то советую ознакомится с cheat sheet по этой теме.
#миниурок #pyautogui
Для решения этой задачи придумали pyautogui, позволяющий управлять компьютером прямо из Python.
Установка:
pip install pyautogui
pyautogui.position()
— позволяет узнать местоположения мышки на экране, в то время как pyautogui.size()
возвращает размер экрана.pyautogui.click(x, y)
— нажимает левой кнопкой мыши в позиции x, y.pyautogui.typewrite(text)
— печатает text на клавиатуре, а hotkey('ctrl', 'c')
нажимает на горячие клавиши.Если вам стало интересно, то советую ознакомится с cheat sheet по этой теме.
#миниурок #pyautogui
⚡️ Задачка с собеседования | #Medium
Условие:
Вам сказали сделать американские горки. Парк закупил несколько модулей с разной высотой. Нужно их расположить так, что бы суммарный перепад высот был максимальным. Высчитывается по формуле: |e1 – e2| + |e2 – e3| + |e(n-1) - en|
Примеры:
calculate([3, 1, 7, 5, 9]) -> 22 # [3, 9, 1, 7, 5]
calculate([1, 6, 13, 9, 3, 2]) -> 40
calculate([2, 3, 4]) -> 3
📌 Пишите ваше решение в комментариях. Решение будет через несколько часов на этом канале. 👇
#Задачка_с_собеседования
Условие:
Вам сказали сделать американские горки. Парк закупил несколько модулей с разной высотой. Нужно их расположить так, что бы суммарный перепад высот был максимальным. Высчитывается по формуле: |e1 – e2| + |e2 – e3| + |e(n-1) - en|
Примеры:
calculate([3, 1, 7, 5, 9]) -> 22 # [3, 9, 1, 7, 5]
calculate([1, 6, 13, 9, 3, 2]) -> 40
calculate([2, 3, 4]) -> 3
📌 Пишите ваше решение в комментариях. Решение будет через несколько часов на этом канале. 👇
#Задачка_с_собеседования
⚡️ Загружаем видео с ютуб
youtube-dl — интересный проект с открытым исходным кодом, позволяющий загружать видео с ютуба и других сервисов.
Устнаовка:
В python же просто импортируется модуль и создаётся класс для работы.
Если вам стало интересно, то рекомендуем посетить документацию.
#миниурок #youtube
youtube-dl — интересный проект с открытым исходным кодом, позволяющий загружать видео с ютуба и других сервисов.
Устнаовка:
pip install youtube-dl
Пользоваться утилитой можно из терминала с помощью команды youtube-dl url
.В python же просто импортируется модуль и создаётся класс для работы.
Если вам стало интересно, то рекомендуем посетить документацию.
#миниурок #youtube
⚡️ Алгоритм бинарного поиска
Если вы слышали про теорию алгоритмов, то можете почувствовать разницу между O(log n) (такую стоимость даёт бинарный поиск) и O(n) (а такую — обычный).
Проблема бинарного поиска в том, что все данные должны быть отсортированы. Если у вас есть такой список, то стоит попробовать bisect.
Модуль хранит внутри себя алгоритм бинарного поиска. Сам по себе он бесполезный, но на его основе можно сделать множество классных функций.
Подробнее можете почитать в документации, там также есть парочка неплохих примеров.
#миниурок #bisect
Если вы слышали про теорию алгоритмов, то можете почувствовать разницу между O(log n) (такую стоимость даёт бинарный поиск) и O(n) (а такую — обычный).
Проблема бинарного поиска в том, что все данные должны быть отсортированы. Если у вас есть такой список, то стоит попробовать bisect.
Модуль хранит внутри себя алгоритм бинарного поиска. Сам по себе он бесполезный, но на его основе можно сделать множество классных функций.
Подробнее можете почитать в документации, там также есть парочка неплохих примеров.
#миниурок #bisect
⚡️ Задачка с собеседования | #Easy
Условие:
Вам необходимо сделать функцию, которая принимает список чисел и суммирует значения, которые пропущены в списке, но есть в диапазоне от минимального до максимального числа.
Примеры:
sum_miss([1, 6, 3, 2]) -> 9 # 4 + 5 = 9
sum_miss([1, 2, 3]) -> 0
sum_miss([4, 5, 3, 2, 0]) -> 1
📌 Пишите ваше решение в комментариях. Решение будет через несколько часов на этом канале. 👇
#Задачка_с_собеседования
Условие:
Вам необходимо сделать функцию, которая принимает список чисел и суммирует значения, которые пропущены в списке, но есть в диапазоне от минимального до максимального числа.
Примеры:
sum_miss([1, 6, 3, 2]) -> 9 # 4 + 5 = 9
sum_miss([1, 2, 3]) -> 0
sum_miss([4, 5, 3, 2, 0]) -> 1
📌 Пишите ваше решение в комментариях. Решение будет через несколько часов на этом канале. 👇
#Задачка_с_собеседования
2022 уже совсем скоро, а ты еще не купил себе новогодний подарок?🎅🏼🎁
Новый год идеальное время, чтобы побаловать себя классным подарком, а лучший подарок это тот, о котором давно думал, но сомневался.
Онлайн университет профессий Skypro проанализировал статистику hh и выяснил, что Python специалисты являются одной из самых востребованных профессий за 2021 год, при этом их зарплата доходит до 300.000₽ в месяц. Именно поэтому они создали курс “Python разработчик”, пройдя который вы станете уверенным разработчиком и сможете начать зарабатывать заветные 300.000₽.
В течение обучения все студенты выполнят 4 проекта, которые сформируют в свое портфолио.
Кроме того, опытные специалисты Skypro помогут найти работу и подготовят к собеседованию с HR💥
❗По нашей ссылке можно записаться на бесплатную консультацию и получить скидку 10% по промокоду «УЧИСЬ»
https://go.skyeng.ru/Python_Community_ru
Новый год идеальное время, чтобы побаловать себя классным подарком, а лучший подарок это тот, о котором давно думал, но сомневался.
Онлайн университет профессий Skypro проанализировал статистику hh и выяснил, что Python специалисты являются одной из самых востребованных профессий за 2021 год, при этом их зарплата доходит до 300.000₽ в месяц. Именно поэтому они создали курс “Python разработчик”, пройдя который вы станете уверенным разработчиком и сможете начать зарабатывать заветные 300.000₽.
В течение обучения все студенты выполнят 4 проекта, которые сформируют в свое портфолио.
Кроме того, опытные специалисты Skypro помогут найти работу и подготовят к собеседованию с HR💥
❗По нашей ссылке можно записаться на бесплатную консультацию и получить скидку 10% по промокоду «УЧИСЬ»
https://go.skyeng.ru/Python_Community_ru
⚡️ Работаем с IP адресами
Наиболее эффективно с этой задачей справляется предустановленный модуль ipaddress.
С этими классами вы можете выполнять различные операции, о которых подробнее узнаете из документации.
Наиболее эффективно с этой задачей справляется предустановленный модуль ipaddress.
ipaddress.ip_address(address)
— возвращает IPv4Address или IPv6Address на основе address.ipaddress.ip_network(address)
— используется для создания сетей, с маской и набором адресов. Возвращает IPv4Network или IPv6Network на основе address.С этими классами вы можете выполнять различные операции, о которых подробнее узнаете из документации.
⚡️ Пишем эмодзи
Эмодзи, в умеренных количествах, могут улучшить текст, но вот их использование в коде несколько затрудняется, поэтому придумали модуль emoji.
Установка:
Подробнее о модуле вы, как обычно, можете почитать тут.
#миниурок #emoji
Эмодзи, в умеренных количествах, могут улучшить текст, но вот их использование в коде несколько затрудняется, поэтому придумали модуль emoji.
Установка:
pip install emoji
emoji.emojize(text)
— заменяет все особые символы в text на эмодзи.emoji.demojize(text)
— делает наоборот, переводит эмодзи в текст.emoji.is_emoji(char)
— проверяет, является ли char частью набора эмодзи.Подробнее о модуле вы, как обычно, можете почитать тут.
#миниурок #emoji