Python Community
12.8K subscribers
1.25K photos
38 videos
15 files
739 links
Python Community RU - СНГ сообщество Python-разработчиков

Чат канала: @python_community_chat

Сотрудничество: @cyberJohnny и @Sergey_bzd

РКН реестр:
https://knd.gov.ru/license?id=67847dd98e552d6b54a511ed&registryType=bloggersPermission
Download Telegram
⚡️ Взаимодействуем с текстом

Для этого идеально подойдёт flashtext — модуль, позволяющий заменять или собирать информацию из строки.

Установка: pip install flashtext

Его основное преимущество над regex — скорость выполнения. Библиотека использует свой алгоритм и, таким образом, увеличивает производительность.

На примере выше представлен лишь небольшой функционал библиотеки, а изучить её полностью можно на сайте документации.

#миниурок #flashtext
👍1
⚡️ Задачка с собеседования | #Easy

Условие:

Написать простую функцию, которая будет возвращать век, на основе года.

Пример:

get_century(2021) -> 21
get_century(1999) -> 20
get_century(2000) -> 20
get_century(101) -> 2

📌 Пишите ваше решение в комментариях. Решение будет через несколько часов на этом канале. 👇

#Задачка_с_собеседования
⚡️ Ответ на предыдущую задачу
👍1
⚡️ Удобно работаем с временем

Идеальное решение для этого — модуль delorean.

Установка: pip install Delorean

Библиотека, по сути, является дополнением для обычного datetime, поскольку вы можете легко перевести её класс в datetime. Но, она добавляет свой функционал

Например, в модуле легче редактировать часы, минуты, дни, поддерживается перевод строки в объект с временем, а так же присутствуют другие упрощающие работу программисту функции (например: next_sunday).

Больше примеров можно найти на сайте документации.

#миниурок #delorean
👍1
Что выведет код выше?
Anonymous Quiz
12%
1
36%
2
10%
4
28%
Ошибку
14%
Узнать ответ
⚡️ Визуализируем информацию

Dash
— мощный фреймворк с открытым исходным кодом, позволяющий удобно создавать приложения с данными.

Установка: pip install dash

Модуль оснащён легко настраиваемым интерфейсом и позволяет просматривать данные из браузера, что делает его кроссплатформенным.

Помимо настройки разметки из кода, вы также можете подгружать JS и CSS файлы из других сайтов, как на примере выше, что делает его очень гибким в плане отображения.

В общем, вам лучше самому попробовать этот фреймворк, ведь на словах не описать все его возможности.

#миниурок #dash
⚡️ Задачка с собеседования | #Easy

Условие:

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

Пример:

find_divisors(13) -> 13 - простое число
find_divisors(10) -> [2, 5]
find_divisors(12) -> [2, 3, 4, 6]

📌 Пишите ваше решение в комментариях. Решение будет через несколько часов на этом канале. 👇

#Задачка_с_собеседования
⚡️ Ответ на предыдущую задачу
⚡️ Функция iter и её возможности

iter()
— функция, возвращающая объект-итератор.

Если в функции только один аргумент, то он принимает объект коллекции, в котором реализованы методы __iter __ или __getitem __. Если не поддерживается ни один из этих протоколов, то возникнет ошибка TypeError.

Но, есть и другой вариант, когда iter принимает два аргумента. В этом случае первый — функция, а второй — объект для остановки итератора. Он выполняет переданную функцию до того момента, пока она не вернёт второй аргумент.

Таким образом удобно, например, считывать блоки данных из файла и обрабатывать их.

#теория #iter
⚡️ Отлавливаем ошибки

Для этого в Python есть конструкция try/except/else/finally. Здесь будет описано, что они делают:

try — внутри этого оператора располагается код, внутри которого может появиться ошибка.

except ExceptionType as e — "отлавливает" ошибку, сохраняет её как переменную e и выполняет необходимые действия.

else — выполняется, если никаких ошибок не было.

finally — код, который запускается всегда, независимо от того, была ошибка или нет

#теория
⚡️ Задачка с собеседования | #Easy

Условие:

Написать функцию, которая будет принимать диапазон букв, разделённых дефисом и возвращать все символы между ними включительно.

Никаких проверок на ошибку делать не надо, минимальное значение всегда меньше или равно максимальному.

Пример:

letters_range("a-c") -> abc
letters_range("a-a") -> a
letters_range("s-H") -> stuvwxyzABCDEFGH
letters_range("a-A") -> abcdefghijklmnopqrstuvwxyzA

📌 Пишите ваше решение в комментариях. Решение будет через несколько часов на этом канале. 👇

#Задачка_с_собеседования
⚡️ Ответ на предыдущую задачу
⚡️ Открываем ссылки

webbrowser
— модуль, обеспечивающий простое взаимодействие с браузером. Но, пока что, только открытие ссылок.

Для работы не надо создавать какие-либо экземпляры, достаточно просто воспользоваться методами библиотеки, такими как open, open_new и open_new_tab.

Если же вам необходимо открывать какой-то отдельный браузер, то можете воспользоваться get для получения контроллера.

Подробнее об этом можно почитать на сайте документации.

#миниурок #webbrowser
Что выведет код выше?
Anonymous Quiz
43%
9
16%
6
17%
4
6%
1
18%
Узнать ответ
⚡️ Метод get()

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

Что бы каждый раз не отлавливать ошибки, воспользуйтесь методом get(key, default).

Он возвращает значение, если ключ найден, или второй аргумент, который по умолчанию — None.

#теория
👍1
⚡️ Задачка с собеседования | #Easy

Условие:

Написать функцию, которая будет принимать список и находить уникальное число.

Пример:

find_unique_value([1, 2, 1, 1]) -> 2
find_unique_value([2, 3, 3, 3]) -> 2
find_unique_value([5, 5, 5, 0.5]) -> 0.5

📌 Пишите ваше решение в комментариях. Решение будет через несколько часов на этом канале. 👇

#Задачка_с_собеседования