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

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

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

РКН реестр:
https://knd.gov.ru/license?id=67847dd98e552d6b54a511ed&registryType=bloggersPermission
Download Telegram
⚡️ Визуализируем информацию

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

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

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

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

Установка: pip3 install hug

На данный момент hug является самым быстрым способом создания API-интерфейсов на Python3. Он поддерживает HTTP обработку, cli (командную строку) или локальный запуск скрипта.

Для работы с ним вам нужно просто импортировать модуль, настроить интерфейс (hug.local, hug.get, hug.cli) и запустить скрипт с помощью команды hug -f file.py из терминала.

#миниурок #hug
Что выведет код выше?
Anonymous Quiz
14%
1
12%
2
11%
3
49%
4
13%
Узнать ответ
⚡️ Получаем словарь c переменными

globals, locals, vars — всё это функции, позволяющие узнать о используемых в данный момент переменных.

Вот, что они делают:

globals() — возвращает словарь со всеми переменными в конкретном модуле (внутри которого записана функция).

locals() — возвращает словарь значений из текущего пространства имён. Если это модуль, то вернёт то же, что и globals, иначе — переменные внутри функции.

vars(object) — возвращает атрибут __dict__ из object, если аргумент задан. Иначе работает так же как locals или globals.

Подробнее: locals, globals, vars.
👍1
⚡️ Задачка с собеседования | #Medium

Условие:

Написать функцию, которая будет переворачивать только буквы. То есть внутри строки переместиться с начала в конец должны только буквы, остальные символы (-, =, числа и т.д.) должны остаться на своём месте.

Пример:

reverse_letters("a-bC-dEf-ghIj") -> j-Ih-gfE-dCba
reverse_letters("a-bC=Def+GHi3") -> i-HG=feD+Cba3
reverse_letters("7_28]") -> 7_28]

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

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