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

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

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

РКН реестр:
https://knd.gov.ru/license?id=67847dd98e552d6b54a511ed&registryType=bloggersPermission
Download Telegram
⚡️ Отлавливаем ошибки

Для этого в 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]

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

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

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

Работать с ней в нашем любимом языке можно с помощью предустановленного модуля — sqlite3.

Для начала, стоит подключить базу данных с помощью метода connect(file_path), после — взять курсор с помощью con.cursor() и выполнить действие, используя execute(data, params).

Считывание данных происходит с помощью cursor.fetchall() или cursor.fetchone().

А ещё больше об этом модуле можете прочитать на сайте документации.

#миниурок #sqlite3
⚡️ Операции над множествами

Множества — набор не повторяющихся значений. Создать их можно с помощью set(iter) или используя фигурные скобки ({})

Над множествами можно проводить такие операции:

• Разность (-) — убираем из a все элементы b.

• Пересечение (&) — все элементы и в a, и в b

• Объединение (|) — все элементы, что есть в a или в b

• Симметричное вычитание (^) — все элементы, что есть в a или b но не в обоих множествах

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

Условие:

Ранее мы делали задачку, где надо было перевести римские числа в десятичную систему.


Теперь задача в том, чтобы сделать наоборот: перевести число в римскую систему чисел. (про символы можно почитать тут).

Значения на входе всегда будут в таком промежутке: 1 <= x <= 4000

Пример:

to_roman(1999) -> MCMXCIX
to_roman(1) -> I
to_roman(1000) -> M
to_roman(21) -> XXI

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

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