⚡️ Задачка с собеседования | #Medium
Условие:
Написать функцию, которая будет возвращать все возможные расположения символов внутри строки
Пример:
permutations("a") -> ['a']
permutations("ab") -> ['ba', 'ab']
permutations("abc") -> ['abc', 'cba', 'bca', 'bac', 'cab', 'acb']
📌 Пишите ваше решение в комментариях. Решение будет через несколько часов на этом канале. 👇
#Задачка_с_собеседования
Условие:
Написать функцию, которая будет возвращать все возможные расположения символов внутри строки
Пример:
permutations("a") -> ['a']
permutations("ab") -> ['ba', 'ab']
permutations("abc") -> ['abc', 'cba', 'bca', 'bac', 'cab', 'acb']
📌 Пишите ваше решение в комментариях. Решение будет через несколько часов на этом канале. 👇
#Задачка_с_собеседования
⚡️ Пишем совместимый код
six — модуль, позволяющий уменьшить разницу между Python 2 и Python 3. Таким образом, можно писать код и запускать его на разных версиях с минимальными изменениями.
Установка:
В модуле также есть совместимость для списков и проверки типов. Подробнее — тут.
Библиотека довольно удобная и эффективная, но создаёт дополнительную зависимость, поэтому использовать её или нет — решаете вы.
#миниурок #six
six — модуль, позволяющий уменьшить разницу между Python 2 и Python 3. Таким образом, можно писать код и запускать его на разных версиях с минимальными изменениями.
Установка:
pip install six
Первым делом вам стоит узнать об константах PY2 и PY3, которые обозначают, в какой версии запущена программа.В модуле также есть совместимость для списков и проверки типов. Подробнее — тут.
Библиотека довольно удобная и эффективная, но создаёт дополнительную зависимость, поэтому использовать её или нет — решаете вы.
#миниурок #six
Что выведет код выше?
Anonymous Quiz
10%
[1, 2, 3, 4, 5]
11%
None [1, 2, 3, 4, 5] None
34%
1 [2, 3, 4] 5
28%
Ошибку
17%
Узнать ответ
⚡️ Ускоряем выполнение кода
Для этого отлично подойдёт модуль concurrent.futures — он отлично подойдёт, например, для одновременного копирования файлов или параллельных вычислений.
Первым делом стоит определится, каким образом вы собираетесь разделять выполнения: с помощью потоков или используя процессы.
Далее — создайте экземпляр класса, желательно с помощью with, или самостоятельно вызвать shutdown.
С помощью submit нужно также создать задачу, чтобы получить класс Future.
Теперь с помощью Future вы можете отслеживать выполнение функции.
Например, можно запустить result() и приостановить основный поток в ожидании результата (остальные потоки будут продолжать работать).
Если хотите почитать подробнее, можете сделать это тут.
#миниурок #concurrent
Для этого отлично подойдёт модуль concurrent.futures — он отлично подойдёт, например, для одновременного копирования файлов или параллельных вычислений.
Первым делом стоит определится, каким образом вы собираетесь разделять выполнения: с помощью потоков или используя процессы.
Далее — создайте экземпляр класса, желательно с помощью with, или самостоятельно вызвать shutdown.
С помощью submit нужно также создать задачу, чтобы получить класс Future.
Теперь с помощью Future вы можете отслеживать выполнение функции.
Например, можно запустить result() и приостановить основный поток в ожидании результата (остальные потоки будут продолжать работать).
Если хотите почитать подробнее, можете сделать это тут.
#миниурок #concurrent
⚡️ Задачка с собеседования | #Medium
Условие:
Ваша задача — написать собственную реализацию генерации уникального пароля.
📌 Пишите ваше решение в комментариях. Одно из решений будет через несколько часов на этом канале. 👇
#Задачка_с_собеседования
Условие:
Ваша задача — написать собственную реализацию генерации уникального пароля.
📌 Пишите ваше решение в комментариях. Одно из решений будет через несколько часов на этом канале. 👇
#Задачка_с_собеседования
⚡️ Взаимодействуем с текстом
Для этого идеально подойдёт flashtext — модуль, позволяющий заменять или собирать информацию из строки.
Установка:
На примере выше представлен лишь небольшой функционал библиотеки, а изучить её полностью можно на сайте документации.
#миниурок #flashtext
Для этого идеально подойдёт flashtext — модуль, позволяющий заменять или собирать информацию из строки.
Установка:
pip install flashtext
Его основное преимущество над regex — скорость выполнения. Библиотека использует свой алгоритм и, таким образом, увеличивает производительность.На примере выше представлен лишь небольшой функционал библиотеки, а изучить её полностью можно на сайте документации.
#миниурок #flashtext
⚡️ Задачка с собеседования | #Easy
Условие:
Написать простую функцию, которая будет возвращать век, на основе года.
Пример:
get_century(2021) -> 21
get_century(1999) -> 20
get_century(2000) -> 20
get_century(101) -> 2
📌 Пишите ваше решение в комментариях. Решение будет через несколько часов на этом канале. 👇
#Задачка_с_собеседования
Условие:
Написать простую функцию, которая будет возвращать век, на основе года.
Пример:
get_century(2021) -> 21
get_century(1999) -> 20
get_century(2000) -> 20
get_century(101) -> 2
📌 Пишите ваше решение в комментариях. Решение будет через несколько часов на этом канале. 👇
#Задачка_с_собеседования
⚡️ Удобно работаем с временем
Идеальное решение для этого — модуль delorean.
Установка:
Например, в модуле легче редактировать часы, минуты, дни, поддерживается перевод строки в объект с временем, а так же присутствуют другие упрощающие работу программисту функции (например: next_sunday).
Больше примеров можно найти на сайте документации.
#миниурок #delorean
Идеальное решение для этого — модуль delorean.
Установка:
pip install Delorean
Библиотека, по сути, является дополнением для обычного datetime, поскольку вы можете легко перевести её класс в datetime. Но, она добавляет свой функционал Например, в модуле легче редактировать часы, минуты, дни, поддерживается перевод строки в объект с временем, а так же присутствуют другие упрощающие работу программисту функции (например: next_sunday).
Больше примеров можно найти на сайте документации.
#миниурок #delorean
⚡️ Визуализируем информацию
Dash — мощный фреймворк с открытым исходным кодом, позволяющий удобно создавать приложения с данными.
Установка:
Помимо настройки разметки из кода, вы также можете подгружать JS и CSS файлы из других сайтов, как на примере выше, что делает его очень гибким в плане отображения.
В общем, вам лучше самому попробовать этот фреймворк, ведь на словах не описать все его возможности.
#миниурок #dash
Dash — мощный фреймворк с открытым исходным кодом, позволяющий удобно создавать приложения с данными.
Установка:
pip install dash
Модуль оснащён легко настраиваемым интерфейсом и позволяет просматривать данные из браузера, что делает его кроссплатформенным.Помимо настройки разметки из кода, вы также можете подгружать JS и CSS файлы из других сайтов, как на примере выше, что делает его очень гибким в плане отображения.
В общем, вам лучше самому попробовать этот фреймворк, ведь на словах не описать все его возможности.
#миниурок #dash
⚡️ Задачка с собеседования | #Easy
Условие:
Написать функцию, которая будет возвращать все числа, на которые делится аргумент функции. Если же аргумент — простое число, то возвращаем строку, как на примере.
Пример:
find_divisors(13) -> 13 - простое число
find_divisors(10) -> [2, 5]
find_divisors(12) -> [2, 3, 4, 6]
📌 Пишите ваше решение в комментариях. Решение будет через несколько часов на этом канале. 👇
#Задачка_с_собеседования
Условие:
Написать функцию, которая будет возвращать все числа, на которые делится аргумент функции. Если же аргумент — простое число, то возвращаем строку, как на примере.
Пример:
find_divisors(13) -> 13 - простое число
find_divisors(10) -> [2, 5]
find_divisors(12) -> [2, 3, 4, 6]
📌 Пишите ваше решение в комментариях. Решение будет через несколько часов на этом канале. 👇
#Задачка_с_собеседования
⚡️ Функция iter и её возможности
iter() — функция, возвращающая объект-итератор.
Если в функции только один аргумент, то он принимает объект коллекции, в котором реализованы методы
Но, есть и другой вариант, когда iter принимает два аргумента. В этом случае первый — функция, а второй — объект для остановки итератора. Он выполняет переданную функцию до того момента, пока она не вернёт второй аргумент.
Таким образом удобно, например, считывать блоки данных из файла и обрабатывать их.
#теория #iter
iter() — функция, возвращающая объект-итератор.
Если в функции только один аргумент, то он принимает объект коллекции, в котором реализованы методы
__iter __
или __getitem __
. Если не поддерживается ни один из этих протоколов, то возникнет ошибка TypeError.Но, есть и другой вариант, когда iter принимает два аргумента. В этом случае первый — функция, а второй — объект для остановки итератора. Он выполняет переданную функцию до того момента, пока она не вернёт второй аргумент.
Таким образом удобно, например, считывать блоки данных из файла и обрабатывать их.
#теория #iter